using CK.SCP.Models; using CK.SCP.Models.ExchangeCenterTables; using CK.SCP.Utils; using System; using System.Collections.Generic; using System.Data; using System.Data.Entity.Migrations; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CK.SCP.Controller { public class UN_EC_CONTROLLER_RECEIPT { public static void Get_TED_RECEIPT_MSTR_List(TED_RECEIPT_MSTR p_entity, Action>> p_action) { ResultObject> _ret = new ResultObject>(); try { using (var db = EntitiesFactory.CreateExchangeCenterInstance()) { IQueryable q = db.TED_RECEIPT_MSTR; if (!string.IsNullOrEmpty(p_entity.User)) { q = q.Where(p => p.User.Contains(p_entity.User)); } if (!string.IsNullOrEmpty(p_entity.ASN)) { q = q.Where(p => p.ASN.Contains(p_entity.ASN)); } if (!string.IsNullOrEmpty(p_entity.PurchaseOrder)) { q = q.Where(p => p.PurchaseOrder.Contains(p_entity.PurchaseOrder)); } if (!string.IsNullOrEmpty(p_entity.Supplier)) { q = q.Where(p => p.Supplier.Contains(p_entity.Supplier)); } if (!string.IsNullOrEmpty(p_entity.ReceiveNbr)) { q = q.Where(p => p.ReceiveNbr.Contains(p_entity.ReceiveNbr)); } if (p_entity.UID != 0) { q = q.Where(p => p.UID == p_entity.UID); } if (!string.IsNullOrEmpty(p_entity.CreateUser)) { q = q.Where(p => p.CreateUser.Contains(p_entity.CreateUser)); } if (!string.IsNullOrEmpty(p_entity.Remark)) { q = q.Where(p => p.Remark.Contains(p_entity.Remark)); } if (!string.IsNullOrEmpty(p_entity.CommandType)) { q = q.Where(p => p.CommandType.Contains(p_entity.CommandType)); } if (!string.IsNullOrEmpty(p_entity.Domain)) { q = q.Where(p => p.Domain.Contains(p_entity.Domain)); } if (!string.IsNullOrEmpty(p_entity.Site)) { q = q.Where(p => p.Site.Contains(p_entity.Site)); } _ret.Result = q; _ret.State = ReturnStatus.Succeed; p_action(_ret); } } catch (Exception e) { _ret.State = ReturnStatus.Failed; _ret.ErrorList.Add(e); LogHelper.Writlog(LogHelper.LogType.Error, typeof(TED_RECEIPT_MSTR), "Get_TED_RECEIPT_MSTR_List", e.Message); throw e; } } public static DataTable Get_TED_RECEIPT_MSTR_List( string p_tableName, string p_TaskID) { DataTable dt = new DataTable(); ; var dbSetting = GlobalConfig.ExchangeCenterDB; try { var strConn = EntitiesFactory.GetEfConnectionString(dbSetting); SqlConnection conn = new System.Data.SqlClient.SqlConnection(); conn.ConnectionString = strConn; if (conn.State != ConnectionState.Open) { conn.Open(); } SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; string _sql = string.Format("select * from {0} where TaskID='{1}'", p_tableName, p_TaskID); cmd.CommandText = _sql; SqlDataAdapter adapter = new SqlDataAdapter(cmd); adapter.Fill(dt); } catch (SqlException ex) { throw new Exception($"系统无法连接到数据库:{dbSetting},请检查配置的服务器,数据库,用户名和密码等信息是否正确。{Environment.NewLine}{ex}"); } return dt; } public static ResultObject Save_TED_RECEIPT_MSTR(List p_listUid, EnumTaskState p_state) { ResultObject _ret = new ResultObject(); try { using (var db = EntitiesFactory.CreateExchangeCenterInstance()) { var _lst = db.TED_RECEIPT_MSTR.Where(p => p_listUid.Contains(p.UID)).ToList(); foreach (var itm in _lst) { db.TED_RECEIPT_MSTR.AddOrUpdate(itm); } if (db.SaveChanges() != -1) { _ret.State = ReturnStatus.Succeed; _ret.Result = true; } else { _ret.State = ReturnStatus.Failed; _ret.Result = false; } } } catch (Exception e) { _ret.State = ReturnStatus.Failed; LogHelper.Writlog(LogHelper.LogType.Error, typeof(TED_RECEIPT_MSTR), "Save_TED_RECEIPT_MSTR", e.Message); _ret.Result = false; _ret.ErrorList.Add(e); throw e; } return _ret; } public ResultObject Del_TED_RECEIPT_MSTR(List p_entitys) { ResultObject _ret = new ResultObject(); try { using (var db = EntitiesFactory.CreateExchangeCenterInstance()) { foreach (var itm in p_entitys) { db.TED_RECEIPT_MSTR.Remove(itm); } if (db.SaveChanges() != -1) { _ret.State = ReturnStatus.Succeed; _ret.Result = true; } else { _ret.State = ReturnStatus.Failed; _ret.Result = false; } } } catch (Exception e) { _ret.State = ReturnStatus.Failed; _ret.Result = false; _ret.ErrorList.Add(e); LogHelper.Writlog(LogHelper.LogType.Error, typeof(TED_RECEIPT_MSTR), "Del_TED_RECEIPT_MSTR", e.Message); throw e; } return _ret; } } }