Exemplo n.º 1
0
        public ActionResult ComboBoxContact(int?key)
        {
            if (key.HasValue)
            {
                var entity = new PURSysEntities();
                var BA01A  = entity.BA01A.FirstOrDefault(x => x.BA01A_ID == key.Value);
                if (BA01A != null)
                {
                    ViewData["ADD_DR"]   = BA01A.ADD_DR;
                    ViewData["FAX_NO"]   = BA01A.FAX_NO;
                    ViewData["BA03A_ID"] = BA01A.BA03A_ID;
                    var BA01BList = new Services.BA01.BA01Service().GetAllD(key.Value).ToList();
                    var BA01B     = BA01BList.FirstOrDefault(x => x.BA01A_ID == key.Value);
                    if (BA01B != null)
                    {
                        ViewData["TEL_NO"] = BA01B.TEL_NO;
                        ViewData["TEL_EX"] = BA01B.TEL_EX;
                    }
                    ViewData["CUR_RT"] = CacheCommonDataModule.GetBA03A().First(x => x.BA03A_ID == BA01A.BA03A_ID).CUR_RT;
                }
                else
                {
                    ViewData["ADD_DR"]   = "";
                    ViewData["FAX_NO"]   = "";
                    ViewData["BA03A_ID"] = "";
                }

                ViewBag.Data = entity.BA01B.Where(x => x.BA01A_ID == key.Value).ToList();
            }
            else
            {
                ViewBag.Data = new List <BA01B>();
            }
            return(PartialView("_ComboBoxContact"));
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        /// <summary>Both master and detail has change</summary>
        /// <param name="batchData">contain updata、insert、delete list</param>
        /// <param name="master"></param>
        /// <returns></returns>
        public ActionResult DetailGridBatchUpdate(MVCxGridViewBatchUpdateValues <TR01BViewModel, int> updateValues, TR01AViewModel master, string DateBeg, string DateEnd, string Tax)
        {
            //Validation
            string errMsg = "";

            if (UserInfo.LanguageType == Language.Type.VN)
            {
                master.DtPUR_DT = DateTime.Parse(DateBeg);
                master.DtEXP_DT = DateTime.Parse(DateEnd);
                ModelState.Clear();
                TryValidateModel(master);
            }
            var isValid = TR01Business.Validation(master, updateValues, ModelState);

            ModelState.Remove("DtPUR_DT");
            ModelState.Remove("DtEXP_DT");
            if (!TR01Business.ValidateRemove(master, updateValues.Update))
            {
                isValid = false;
                errMsg  = "資料已被其他人異動過";
            }
            if (master.CFN_YN == "Y")
            {
                errMsg += "資料已確認  不可修改";
            }
            else if (master.CFN_YN == "P")
            {
                errMsg += "資料申請中  不可修改";
            }
            else
            {
                //Save
                if (isValid)
                {
                    var TR01A = TR01Business.BeforSave(master);
                    if (UserInfo.LanguageType == Language.Type.VN)
                    {
                        TR01A.PUR_DT = DateBeg.Replace("/", ""); //master.DtPUR_DT.Value.ToString("yyyyddMM");
                        TR01A.EXP_DT = DateEnd.Replace("/", ""); //master.DtEXP_DT.Value.ToString("yyyyddMM");
                        System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(Language.US);
                        TR01A.TAX_RT = double.Parse(Tax);        //越文沒有小數點特殊處理
                    }
                    else
                    {
                        TR01A.PUR_DT = master.DtPUR_DT.Value.ToString("yyyyMMdd");
                        TR01A.EXP_DT = master.DtEXP_DT.Value.ToString("yyyyMMdd");
                    }
                    var addList    = TR01Business.BeforSave(updateValues.Insert, EditType.AddNew);
                    var updateList = TR01Business.BeforSave(updateValues.Update, EditType.Update);
                    var result     = _Service.Update(TR01A, addList, updateList, updateValues.DeleteKeys);
                    errMsg = result.Message;
                    master = TR01Business.FromEntity(result.Data);
                }
            }



            //Error handling
            if (errMsg.Length > 0 || !isValid)
            {
                for (int i = 0; i < updateValues.Insert.Count; i++)
                {
                    ModelState.AddModelError($"Insert[{i}].IsValid", "Error");
                }

                for (int i = 0; i < updateValues.Update.Count; i++)
                {
                    ModelState.AddModelError($"Update[{i}].IsValid", "Error");
                }

                string deleteIDStrList = "";
                for (int i = 0; i < updateValues.DeleteKeys.Count; i++)
                {
                    updateValues.SetErrorText(updateValues.DeleteKeys[i], "Unable to delete!");
                    deleteIDStrList += updateValues.DeleteKeys[i] + ",";
                }

                ViewData["DeleteIDList"] = deleteIDStrList;
                ViewData["ErrMsg"]       = Resources.Resource.FailureStr + "<br />" + errMsg;
            }

            ViewData["Key"] = master.TR01A_ID;
            var BA01BList = new Services.BA01.BA01Service().GetAllD(master.BA01A_ID).ToList();

            ViewBag.Data = BA01BList;
            //var BA01B = BA01BList.FirstOrDefault(x => x.BA01B_ID == master.BA01B_ID);
            //if (BA01B != null)
            //{
            //    master.TEL_NO = BA01B.TEL_NO;
            //    master.TEL_EX = BA01B.TEL_EX;
            //}
            ViewData["CFN_YN"] = master.CFN_YN;
            if (master.CFN_YN == "Y")
            {
                ViewData["IsConfirm"] = true;
            }
            else
            {
                ViewData["IsConfirm"] = false;
            }
            ViewData["MasterForm"] = ReadViewHelper.PartialView(this, "_MasterForm", master);
            return(PartialView("_DetailGrid", GetTR01BList(master.TR01A_ID)));
        }
Exemplo n.º 4
0
        /// <summary>Only master data change</summary>
        /// <param name="master">主檔資料</param>
        /// <param name="key">JS keyOnPage的 value</param>
        /// <param name="Deletekey">要刪除的key</param>
        /// <param name="Reload_TF">控制是否單純刷新資料</param>
        /// <returns></returns>
        public ActionResult DetailGridCustomUpdate(TR01AViewModel master, string key, string Deletekey, string Reload_TF, string Lock, string DateBeg, string DateEnd, string Tax)
        {
            var errMsg = "";

            if (Lock != null)
            {
                var entities = new PURSysEntities();
                var keyInt   = int.Parse(key);
                var data     = entities.TR01A.First(x => x.TR01A_ID == keyInt);
                if (Lock == "Y")
                {
                    data.CFN_YN = "N";
                }
                else
                {
                    data.CFN_YN = "Y";
                }
                entities.SaveChanges();
            }

            if (Reload_TF == "T")//load畫面 => 新增/查詢/取消
            {
                int.TryParse(key, out int keyValue);
                if (keyValue > 0)
                {
                    master = TR01Business.FromEntity(_Service.GetA(keyValue));
                }
                else
                {
                    //新增初始化
                    master.DtPUR_DT = DateTime.UtcNow.AddHours(07);
                    master.CPN_NM   = "劲亨金属表面处理工業有限公司   Công ty Jingheng";
                    master.TAX_RT   = CacheCommonDataModule.GetTaxRate().First().Value;
                }
                ModelState.Clear();
            }
            else // 修改(新增、修改) / 刪除
            {
                if (master.CFN_YN == "Y")
                {
                    errMsg += "資料已確認  不可修改";
                    int.TryParse(key, out int keyValue);
                    master = TR01Business.FromEntity(_Service.GetA(keyValue));
                }
                else if (master.CFN_YN == "P")
                {
                    errMsg += "資料申請中  不可修改";
                    int.TryParse(key, out int keyValue);
                    master = TR01Business.FromEntity(_Service.GetA(keyValue));
                }
                else
                {
                    if (int.TryParse(Deletekey, out int keyValue))// 刪除
                    {
                        if (keyValue > 0)
                        {
                            errMsg = "查無此筆刪除資料";
                            var count = _Service.GetA(x => x.TR01A_ID == keyValue).Count();
                            if (count == 1)
                            {
                                errMsg = _Service.Delete(keyValue);//刪除成功回傳空字串
                            }
                            if (errMsg.Length > 0)
                            {
                                ViewData["ErrMsg"] = "Delete Fail";
                                master             = TR01Business.FromEntity(_Service.GetA(keyValue));//取回刪除失敗的資料回畫面顯示
                            }
                        }
                        ModelState.Clear();
                    }
                    else// Save 新增、修改 data
                    {
                        //Help.ClearError(ModelState, "DtPUR_DT");
                        //Help.ClearError(ModelState, "DtEXP_DT");
                        if (UserInfo.LanguageType == Language.Type.VN)
                        {
                            master.DtPUR_DT = DateTime.Parse(DateBeg);
                            master.DtEXP_DT = DateTime.Parse(DateEnd);
                            ModelState.Clear();
                            TryValidateModel(master);
                        }

                        var isValid = TR01Business.Validation(master, ModelState);
                        if (!TR01Business.ValidateRemove(master, null))
                        {
                            isValid = false;
                            errMsg  = "資料已被其他人異動過";
                        }
                        if (isValid)// Save
                        {
                            var TR01A = TR01Business.BeforSave(master);
                            if (UserInfo.LanguageType == Language.Type.VN)
                            {
                                TR01A.PUR_DT = DateBeg.Replace("/", ""); //master.DtPUR_DT.Value.ToString("yyyyddMM");
                                TR01A.EXP_DT = DateEnd.Replace("/", ""); //master.DtEXP_DT.Value.ToString("yyyyddMM");
                                System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(Language.US);
                                TR01A.TAX_RT = double.Parse(Tax);
                            }
                            else
                            {
                                TR01A.PUR_DT = master.DtPUR_DT.Value.ToString("yyyyMMdd");
                                TR01A.EXP_DT = master.DtEXP_DT.Value.ToString("yyyyMMdd");
                            }
                            var result = _Service.Update(TR01A);
                            errMsg = result.Message;
                            master = TR01Business.FromEntity(result.Data);
                        }

                        if (errMsg.Length > 0 || !isValid)// Result
                        {
                            errMsg += Resources.Resource.FailureStr;
                        }
                    }
                }
            }
            ViewData["ErrMsg"] = errMsg;
            ViewData["Key"]    = master.TR01A_ID;


            var BA01BList = new Services.BA01.BA01Service().GetAllD(master.BA01A_ID).ToList();

            ViewBag.Data       = BA01BList;
            ViewData["CFN_YN"] = master.CFN_YN;
            if (master.CFN_YN == "Y")
            {
                ViewData["IsConfirm"] = true;
            }
            else
            {
                ViewData["IsConfirm"] = false;
            }

            ViewData["MasterForm"] = ReadViewHelper.PartialView(this, "_MasterForm", master);
            return(PartialView("_DetailGrid", GetTR01BList(master.TR01A_ID)));
        }