Example #1
0
        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);
        }
Example #2
0
        /// <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);
        }
Example #3
0
        /// <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);
        }
Example #4
0
        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));
        }