using Bro.Common.Helper; using Bro.M071.Model; using Bro.M071.Model.Model; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Data.SQLite; using System.Linq; using System.Text; namespace Bro.M071.DBManager { public class ProductionMeasurementRecordsManager : ModelManager { //DbProviderFactory Dbfactory = SQLiteFactory.Instance; protected override void ActionBeforeNewModel(DBModel context, ProductionMeasurementRecords config) { CheckProductionCodeDuplicate(context, config); } protected override void ActionBeforeUpdateModel(DBModel context, ProductionMeasurementRecords config) { CheckProductionCodeDuplicate(context, config); } private void CheckProductionCodeDuplicate(DBModel context, ProductionMeasurementRecords config) { } public List GetProductionMeasurementRecords(ProductionMeasurementRecordsRequest request) { using (DBModel context = new DBModel()) { var pList = context.ProductionMeasurementRecords.Where(u => u.IS_DELETED == 0); if (!string.IsNullOrWhiteSpace(request.ProductionBarcode)) { pList = pList.Where(u => u.ProductionBarcode.Contains(request.ProductionBarcode)); } if (!string.IsNullOrWhiteSpace(request.ProductionCode)) { pList = pList.Where(u => u.ProductionCode.Contains(request.ProductionCode)); } if (request.StartTime != null) { pList = pList.Where(u => u.OperationStartTime >= request.StartTime); } if (request.EndTime != null) { pList = pList.Where(u => u.OperationStartTime <= request.EndTime); } var pageList = pList.OrderBy(u => u.OperationStartTime).ToPagedList(request); request.TotalNum = pList.Count(); return pageList; } } public void BatchAddProductionMeasurementRecords(List records) { try { using (SQLiteConnection conn = new SQLiteConnection(ConnectionString)) { using (SQLiteCommand insertRngCmd = (SQLiteCommand)conn.CreateCommand()) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into ProductionMeasurementRecords ("); strSql.Append("ID,ProductionCode,ProductionBarcode,ProductionResult,OperationStartTime,OperationEndTime,IS_DISABLED,IS_DELETED,CREATE_USER,CREATE_TIME, UPDATE_USER,UPDATE_TIME"); strSql.Append(")values ("); strSql.Append("@ID,@ProductionCode,@ProductionBarcode,@ProductionResult,@OperationStartTime,@OperationEndTime,@IS_DISABLED,@IS_DELETED,@CREATE_USER,@CREATE_TIME,@UPDATE_USER,@UPDATE_TIME)"); insertRngCmd.CommandText = strSql.ToString(); conn.Open(); var transaction = conn.BeginTransaction(); foreach (var record in records) { insertRngCmd.Parameters.AddWithValue("@ID", record.ID); insertRngCmd.Parameters.AddWithValue("@ProductionCode", record.ProductionCode); insertRngCmd.Parameters.AddWithValue("@ProductionBarcode", record.ProductionBarcode); insertRngCmd.Parameters.AddWithValue("@ProductionResult", record.ProductionResult); insertRngCmd.Parameters.AddWithValue("@OperationStartTime", record.OperationStartTime); insertRngCmd.Parameters.AddWithValue("@OperationEndTime", record.OperationEndTime); insertRngCmd.Parameters.AddWithValue("@IS_DISABLED", record.IS_DISABLED); insertRngCmd.Parameters.AddWithValue("@IS_DELETED", record.IS_DELETED); insertRngCmd.Parameters.AddWithValue("@CREATE_USER", record.CREATE_USER); insertRngCmd.Parameters.AddWithValue("@CREATE_TIME", record.CREATE_TIME); insertRngCmd.Parameters.AddWithValue("@UPDATE_USER", record.UPDATE_USER); insertRngCmd.Parameters.AddWithValue("@UPDATE_TIME", record.UPDATE_TIME); insertRngCmd.ExecuteNonQuery(); } transaction.Commit(); } } } catch (Exception ex) { throw new ProcessException(ex.Message, null); } } } }