public static TR01CModel FromEntity(TR01C entity) { var data = new TR01CModel(); if (entity != null) { var objectHelper = new ActWeis.Utility.ObjectHelper(); objectHelper.CopyValue(entity, data); if (data.INV_MY.HasValue) { data.INV_MY = decimal.Parse(data.INV_MY.Value.ToString("G29")); } data.ARR_QT = decimal.Parse(data.ARR_QT.ToString("G29")); data.CUR_RT = decimal.Parse(data.CUR_RT.ToString("G29")); //資料處理 //var item = CacheCommonDataModule.GetBA02A().Where(x => x.BA02A_ID == entity.BA02A_ID).FirstOrDefault(); //if (item != null) //{ // data.ITM_NO = item.ITM_NO; // data.ITM_NM = item.ITM_NM; //} } return(data); }
/// <summary> 驗證資料 </summary> /// <param name="model"></param> /// <param name="modelState"></param> /// <param name="isBefore">是否在BeforeSave前面 - 前面驗證 [資料刪除/Metadata/邏輯] / 後面驗證 [DDM] </param> /// <returns></returns> public static List <string> Validation(TR01CModel model, ModelStateDictionary modelState) { List <string> errMsgList = new List <string>(); Dictionary <string, string> masterErrDic = new Dictionary <string, string>(); #region [ 驗證資料是否已被刪除 ] //不是新增的時候要去驗證是否有被異動過 //if (model.TR01A_ID > 0) //{ // TR01Service _Service = new TR01Service(); // var count = _Service.GetA(x => x.TR01A_ID == model.TR01A_ID).Count(); // if (count == 0) // { // errMsgList.Add("資料已被其他使用者刪除"); // } //} #endregion #region [ master - 邏輯] if (model.CUR_RT < 0) { masterErrDic.Add("CUR_RT", Resources.Resource.GreaterThanZero); } var entity = new PURSysEntities(); var PUR_QT = entity.TR01B.First(x => x.TR01B_ID == model.TR01B_ID).PUR_QT; var tr01cList = entity.TR01C.Where(x => x.TR01B_ID == model.TR01B_ID && x.TR01C_ID != model.TR01C_ID).ToList();//.Sum(x => x.ARR_QT); var totalARR_QT = new decimal(); if (tr01cList.Count > 0) { totalARR_QT = tr01cList.Sum(x => x.ARR_QT); } totalARR_QT = totalARR_QT + model.ARR_QT; if (totalARR_QT > PUR_QT) { masterErrDic.Add("ARR_QT", "数量超过"); } if (model.DtARR_DT > DateTime.Now.AddDays(7)) { masterErrDic.Add("DtARR_DT", "日期不可超过一周"); } //if (masterErrDic.Where(x => x.Key == "CUS_ID").Count() == 0 && new TR01Service().GetA(x => x.TR01A_ID != model.TR01A_ID && x.CUS_ID == model.CUS_ID).Count() > 0) //{ // masterErrDic.Add("CUS_ID", string.Format(CommonHelper.GetCodeName("W021"), DDMHelper.GetColName("TR01A", "CUS_ID"))); //} #endregion [ master - 邏輯] VallidationResult(modelState, errMsgList, masterErrDic); return(errMsgList); }
/// <summary>viewmodel to entity </summary> /// <param name="entity"></param> private static TR01C ToEntity(TR01CModel data) { //entity = data; var entity = new TR01C(); if (data != null) { //資料處理 var objectHelper = new ActWeis.Utility.ObjectHelper(); objectHelper.CopyValue(data, entity); } return(entity); }
public static TR01C BeforSave(TR01CModel data) { var TR01C = new TR01C(); if (data.TR01C_ID == 0)//Adding New { data.CREATE_USER = UserInfo.Id; data.CREATE_DATE = DateTime.Now; } else//Update { var _Service = new TR01Service(); TR01C = _Service.GetC(x => x.TR01C_ID == data.TR01C_ID).First(); data.CREATE_USER = TR01C.CREATE_USER; data.CREATE_DATE = TR01C.CREATE_DATE; } data.UPDATE_USER = UserInfo.Id; data.UPDATE_DATE = DateTime.Now; return(ToEntity(data)); }