public static List <TR01A> ToEntity(TR01AModel master, List <TR01BModel> detailList, List <TR01A> entityList, EntityState state) { if (state == EntityState.Added) { foreach (TR01BModel item in detailList) { var entityItem = new TR01A(); ToEntity(master, item, ref entityItem); entityItem.CREATE_USER = "******"; entityItem.CREATE_DATE = DateTime.Now; entityList.Add(entityItem); } } else { foreach (TR01BModel item in detailList) { var entityItem = entityList.First(x => x.TR01A_ID == item.TR01A_ID); ToEntity(master, item, ref entityItem); entityItem.UPDATE_USER = "******"; entityItem.UPDATE_DATE = DateTime.Now; } } return(entityList); }
/// <summary>Entity to viewmodel Single</summary> /// <param name="entity">TR01A</param> public static TR01AViewModel FromEntity(TR01A entity) { var data = new TR01AViewModel(); if (entity != null) { var objectHelper = new ActWeis.Utility.ObjectHelper(); objectHelper.CopyValue(entity, data); #region [ 資料處理 ] var BA01A = CacheCommonDataModule.GetBA01A().FirstOrDefault(x => x.BA01A_ID == entity.BA01A_ID); if (BA01A != null) { data.FAX_NO = BA01A.FAX_NO; data.ADD_DR = BA01A.ADD_DR; } var BA01B = new Services.BA01.BA01Service().GetD(x => x.BA01B_ID == entity.BA01B_ID); if (BA01B != null) { data.TEL_NO = BA01B.TEL_NO; data.TEL_EX = BA01B.TEL_EX; } #endregion [ 資料處理 ] } return(data); }
/// <summary>寫Log的時候要先去update</summary> /// <param name="key">Master 的 Key</param> /// <returns>錯誤訊息</returns> public string Delete(int key) { string errMsg = ""; using (var trans = _Entity.Database.BeginTransaction(IsolationLevel.Snapshot)) { try { _Entity.TR01B.RemoveRange(_Entity.TR01B.Where(r => r.TR01A_ID == key)); _Entity.SaveChanges(); var deleteData = new TR01A { TR01A_ID = key }; _Entity.Entry(deleteData).State = EntityState.Deleted; var result = _Entity.SaveChanges(); trans.Commit(); } catch (System.Data.Entity.Validation.DbEntityValidationException ex) { foreach (var eve in ex.EntityValidationErrors) { errMsg = string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { errMsg += "<br />" + string.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } } } return(errMsg); }
/// <summary>delete寫Log的時候要先去update</summary> /// <param name="data"></param> /// <returns></returns> public ServiceResult <TR01A> Update(TR01A entity, List <TR01B> CreateD, List <TR01B> UpdateD, List <int> DeleteD) { string errMsg = ""; using (var trans = _Entity.Database.BeginTransaction(IsolationLevel.Snapshot)) { try { //Master if (entity.TR01A_ID == 0) { entity.PUR_NO = _Entity.Database.SqlQuery <string>("select dbo.Get_PUR_NO()").FirstOrDefault(); _Entity.Entry(entity).State = EntityState.Added; } else { _Entity.Entry(entity).State = EntityState.Modified; } _Entity.SaveChanges(); //detail 處理 TR01A_ID foreach (var item in CreateD) { item.TR01A_ID = entity.TR01A_ID; _Entity.Entry(item).State = EntityState.Added; } foreach (var item in UpdateD) { item.TR01A_ID = entity.TR01A_ID; _Entity.Entry(item).State = EntityState.Modified; } _Entity.TR01B.RemoveRange(_Entity.TR01B.Where(r => DeleteD.Contains(r.TR01B_ID))); _Entity.SaveChanges(); trans.Commit(); } catch (System.Data.Entity.Validation.DbEntityValidationException ex) { foreach (var eve in ex.EntityValidationErrors) { errMsg = string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { errMsg += "<br />" + string.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } } catch (Exception ex) { errMsg = new MSSQL().GetSQLMessage(ex); } } return(new ServiceResult <TR01A>() { Data = entity, Message = errMsg }); }
/// <summary> /// viewmodel to entity /// </summary> /// <param name="entity"></param> public void ToDomain(TR01A entity) { if (entity != null) { #region [ 資料處理 ] #endregion [ 資料處理 ] var objectHelper = new ActWeis.Utility.ObjectHelper(); objectHelper.CopyValue(this, entity); } }
private static void ToEntity(TR01AModel master, TR01BModel detail, ref TR01A entityItem) { entityItem.TRN_DT = master.DtTRN_DT.ToString("yyyyMMdd"); entityItem.VOU_NO = master.VOU_NO; entityItem.BA02A_ID = master.BA02A_ID; entityItem.BA02B_ID = master.BA02B_ID; entityItem.BA03A_ID = master.BA03A_ID; entityItem.DA03A_ID = master.DA03A_ID; entityItem.BA01A_ID = detail.BA01A_ID; entityItem.CRE_MY = detail.CRE_MY; entityItem.DEB_MY = detail.DEB_MY; entityItem.SUM_RM = detail.SUM_RM; }
public static TR01AModel FromEntity(TR01A entity, PURSysEntities entityConnection) { var data = new TR01AModel(); if (entity != null) { var objectHelper = new ActWeis.Utility.ObjectHelper(); objectHelper.CopyValue(entity, data); } var result = entityConnection.Database.SqlQuery <int>($"select dbo.Get_Not_Receive_Count({entity.TR01A_ID})").FirstOrDefault(); data.IsAllReceive = result == 0; return(data); }
/// <summary>viewmodel to entity </summary> /// <param name="entity"></param> private static TR01A ToEntity(TR01AViewModel data) { var entity = new TR01A(); if (data != null) { #region [ 資料處理 ] #endregion [ 資料處理 ] var objectHelper = new ActWeis.Utility.ObjectHelper(); objectHelper.CopyValue(data, entity); } return(entity); }
/// <summary> /// entity to viewmodel /// </summary> /// <param name="entity"></param> public void FromDomain(TR01A entity) { if (entity != null) { var objectHelper = new ActWeis.Utility.ObjectHelper(); objectHelper.CopyValue(entity, this); #region [ 資料處理 ] var BA01A = CacheCommonDataModule.GetBA01A().FirstOrDefault(x => x.BA01A_ID == this.BA01A_ID); if (BA01A != null) { this.ADD_DR = BA01A.ADD_DR; this.FAX_NO = BA01A.FAX_NO; } #endregion [ 資料處理 ] } }
/// <summary>刪除上下檔</summary> /// <param name="key">Master 的 Key</param> /// <returns>被trigger擋下=> 取回資料, 被其他人刪單=> new TR01A</returns> public ServiceResult <TR01A> Delete(int key) { string errMsg = ""; var master = _Entity.TR01A.FirstOrDefault(x => x.TR01A_ID == key); using (var trans = _Entity.Database.BeginTransaction(IsolationLevel.Snapshot)) { try { if (master != null && master.TR01A_ID > 0) { _Entity.TR01B.RemoveRange(_Entity.TR01B.Where(r => r.TR01A_ID == key)); _Entity.SaveChanges(); _Entity.TR01A.Remove(master); _Entity.SaveChanges(); } else { errMsg = "已被其他使用者刪除"; master = new TR01A(); } trans.Commit(); } catch (System.Data.Entity.Validation.DbEntityValidationException ex) { foreach (var eve in ex.EntityValidationErrors) { errMsg = string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { errMsg += "<br />" + string.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } } catch (Exception ex) { errMsg = new MSSQL().GetSQLMessage(ex); } } return(new ServiceResult <TR01A>() { Data = master, Message = errMsg }); }
public ServiceResult <TR01A> Update(TR01A entity) { var errMsg = ""; using (var trans = _Entity.Database.BeginTransaction(IsolationLevel.Snapshot)) { try { if (entity.TR01A_ID == 0) { _Entity.Entry(entity).State = EntityState.Added; } else { _Entity.Entry(entity).State = EntityState.Modified; } var result = _Entity.SaveChanges(); trans.Commit(); } catch (System.Data.Entity.Validation.DbEntityValidationException ex) { foreach (var eve in ex.EntityValidationErrors) { errMsg = string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { errMsg += "<br />" + string.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } } catch (Exception ex) { errMsg = new MSSQL().GetSQLMessage(ex); } } return(new ServiceResult <TR01A>() { Data = entity, Message = errMsg }); }
private TR01A MasterToEntity(TR01AViewModel master) { var TR01A = new TR01A(); if (master.TR01A_ID == 0)//Adding New { master.CREATE_USER = "******"; master.CREATE_DATE = DateTime.Now; master.PUR_NO = new PURSysEntities().Database.SqlQuery <string>("select dbo.Get_PUR_NO()").FirstOrDefault(); master.ToDomain(TR01A); } else//Update { TR01A = _Service.GetM(master.TR01A_ID); master.CREATE_USER = TR01A.CREATE_USER; master.CREATE_DATE = TR01A.CREATE_DATE; master.UPDATE_USER = "******"; master.UPDATE_DATE = DateTime.Now; master.ToDomain(TR01A); } return(TR01A); }
public TR01AViewModel(TR01A entity) { this.FromDomain(entity); }
/// <summary>delete寫Log的時候要先去update</summary> /// <param name="data"></param> /// <returns></returns> public ServiceResult <TR01A> Update(TR01A entity, List <TR01B> CreateD, List <TR01B> UpdateD, List <int> DeleteD) { string errMsg = ""; using (var trans = _Entity.Database.BeginTransaction(IsolationLevel.Snapshot)) { try { //Master if (entity.TR01A_ID == 0) { _Entity.Entry(entity).State = EntityState.Added; } else { _Entity.Entry(entity).State = EntityState.Modified; } _Entity.SaveChanges(); //detail 處理 TR01A_ID foreach (var item in CreateD) { item.TR01A_ID = entity.TR01A_ID; _Entity.Entry(item).State = EntityState.Added; } foreach (var item in UpdateD) { item.TR01A_ID = entity.TR01A_ID; _Entity.Entry(item).State = EntityState.Modified; } //要先update delete的資料 foreach (var key in DeleteD) { var deleteData = new TR01B { TR01B_ID = key }; _Entity.Entry(deleteData).State = EntityState.Deleted; } _Entity.SaveChanges(); trans.Commit(); } catch (System.Data.Entity.Validation.DbEntityValidationException ex) { foreach (var eve in ex.EntityValidationErrors) { errMsg = string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { errMsg += "<br />" + string.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } } catch (Exception ex) { errMsg = ex.Message; } } return(new ServiceResult <TR01A>() { Data = entity, Message = errMsg }); }