Example #1
0
        /// <summary>
        /// viewmodel to entity
        /// </summary>
        /// <param name="entity"></param>
        public void ToDomain(BA01B entity)
        {
            if (entity != null)
            {
                var objectHelper = new ActWeis.Utility.ObjectHelper();
                objectHelper.CopyValue(this, entity);

                #region [ 資料處理 ]
                #endregion [ 資料處理 ]
            }
        }
Example #2
0
        /// <summary>
        /// entity to viewmodel
        /// </summary>
        /// <param name="entity"></param>
        public void FromDomain(BA01B entity)
        {
            if (entity != null)
            {
                var objectHelper = new ActWeis.Utility.ObjectHelper();
                objectHelper.CopyValue(entity, this);

                #region [ 資料處理 ]
                //var item = CacheCommonDataModule.GetVW_FA11A().Where(x => x.FA11A_ID == entity.FA11A_ID).FirstOrDefault();
                //if (item != null)
                //{
                //    this.ITM_NO = item.ITM_NO;
                //    this.ITM_NM = item.ITM_NM;
                //    if (item.FA24A_ID_PUR.HasValue && !this.FA24A_ID.HasValue)
                //    {
                //        this.FA24A_ID = item.FA24A_ID_PUR.Value;
                //    }
                //}

                #endregion [ 資料處理 ]
            }
        }
Example #3
0
        public ActionResult CreateReport(int key)
        {
            TR01Service _Service = new TR01Service();
            var         temp     = _Service.GetMD(key);
            var         model    = new ERP_V2.ViewModels.TR01.Edit();

            model.Master = new ERP_V2.ViewModels.TR01.TR01AViewModel(temp.Master);

            var entity = new PURSysEntities();
            var BA01B  = entity.BA01B.FirstOrDefault(x => x.BA01B_ID == model.Master.BA01B_ID);

            if (BA01B == null)
            {
                BA01B = new BA01B();
            }

            var BA01A = entity.BA01A.FirstOrDefault(x => x.BA01A_ID == model.Master.BA01A_ID);

            var dataCollection = new List <ERP_V2.ViewModels.TR01.TR01BViewModel>();

            foreach (var item in temp.DetaiList)
            {
                dataCollection.Add(new ERP_V2.ViewModels.TR01.TR01BViewModel(item));
            }
            model.DetailList = dataCollection;
            var     companyName = model.Master.CPN_NM;
            decimal taxRate     = 1;

            if (model.Master.TAX_RT.HasValue)
            {
                taxRate = decimal.Parse(model.Master.TAX_RT.Value.ToString());
            }
            var reportModel = new Reports.TR01.TR01ReportModel()
            {
                Company = model.Master.CPN_NM, Provider = BA01A.INC_NM, Contact = BA01B.CNT_NM, TelNo = BA01B.TEL_NO, Address = BA01A.ADD_DR, OrderNO = model.Master.PUR_NO, Date = model.Master.DtPUR_DT.Value.ToString("yyyy/MM/dd"), FAX = BA01A.FAX_NO, TaxRate = taxRate
            };

            reportModel.Unit      = entity.BA03A.FirstOrDefault(x => x.BA03A_ID == model.Master.BA03A_ID).CUR_NM;
            reportModel.DetaiList = new List <Reports.TR01.Detail>();
            int     i     = 1;
            decimal total = 0;

            foreach (var item in dataCollection)
            {
                var BA02A      = entity.BA02A.FirstOrDefault(x => x.BA02A_ID == item.BA02A_ID);
                var detailItem = new Reports.TR01.Detail()
                {
                    ItemNO     = item.ITM_NM,
                    Spec       = BA02A.ITM_SP,
                    Date       = model.Master.DtEXP_DT.Value.ToString("yyyy/MM/dd"),
                    Qty        = item.PUR_QT,
                    Unit       = BA02A.UNT_NM,
                    Price      = item.PUR_PR.Value,
                    TotalPrice = item.PUR_QT * item.PUR_PR.Value,
                    RelativeNO = item.REL_NO,
                    SeqNO      = i,
                    REM        = item.REM_MM
                };
                total += detailItem.TotalPrice;
                reportModel.DetaiList.Add(detailItem);
                i++;
            }
            var result = new List <ERP_V2.Reports.TR01.TR01ReportModel>();

            reportModel.Price             = total;//未稅
            reportModel.TotalSummaryPrice = total * taxRate;
            if (UserInfo.LanguageType == Utility.Language.Type.VN)
            {
            }
            reportModel.TotalSummaryPrice = Math.Round(reportModel.TotalSummaryPrice, 0);
            var str = reportModel.TotalSummaryPrice.ToString("G29");

            if (str == "0")
            {
                reportModel.MoneyInChinese = "";
            }
            else
            {
                reportModel.MoneyInChinese = " " + ConvertVN(str); //EastAsiaNumericFormatter.FormatWithCulture("L", total, null, new CultureInfo("zh-TW"));
            }
            // var tempNum = EastAsiaNumericFormatter.FormatWithCulture("L", 50500, null, new CultureInfo("zh-TW"));
            result.Add(reportModel);
            System.Web.HttpContext.Current.Session["tempData"] = result;
            return(View());
        }
Example #4
0
 public BA01BViewModel(BA01B entity)
 {
     this.FromDomain(entity);
 }
Example #5
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 <BA01BViewModel, int> updateValues, BA01AViewModel master)
        {
            int errorCount = 0;

            //Validation
            ValidateMaster(master);

            for (int i = 0; i < updateValues.Insert.Count; i++)
            {
                if (updateValues.IsValid(updateValues.Insert[i]) == false)
                {
                    errorCount++;
                }
            }

            for (int i = 0; i < updateValues.Update.Count; i++)
            {
                if (updateValues.IsValid(updateValues.Update[i]) == false)
                {
                    errorCount++;
                }
            }
            string errMsg = "";

            //Save
            if (errorCount == 0 && ModelState.IsValid)
            {
                var BA01A = MasterToEntity(master);

                var addList = new List <BA01B>();
                foreach (var item in updateValues.Insert)
                {
                    var BA01B = new BA01B();
                    item.CREATE_USER = UserInfo.Id;
                    item.CREATE_DATE = DateTime.Now;
                    item.ToDomain(BA01B);
                    addList.Add(BA01B);
                }

                var updateList = new List <BA01B>();
                foreach (var item in updateValues.Update)
                {
                    var BA01B = new BA01B();
                    BA01B            = _Service.GetD(x => x.BA01B_ID == item.BA01B_ID);
                    item.BA01A_ID    = BA01B.BA01A_ID;
                    item.CREATE_USER = BA01B.CREATE_USER;
                    item.CREATE_DATE = BA01B.CREATE_DATE;
                    item.UPDATE_USER = UserInfo.Id;
                    item.UPDATE_DATE = DateTime.Now;
                    item.ToDomain(BA01B);
                    updateList.Add(BA01B);
                }

                errMsg = _Service.UpdateMD(BA01A, addList, updateList, updateValues.DeleteKeys);
            }

            //Result
            if (errorCount > 0 || errMsg.Length > 0 || !ModelState.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["EditErrorMsg"] = Resources.Resource.FailureStr + "<br />" + errMsg;
                ViewData["DeleteIDList"] = deleteIDStrList;
                ViewData["MasterForm"]   = ReadViewHelper.PartialView(this, "_MasterForm", master);

                return(PartialView("_DetailGrid", GetBA01BList(master.BA01A_ID)));
            }
            else
            {
                CacheHelper.Invalidate("BA01A");
                SetTempData(master.BA01A_ID);
                return(RedirectToAction("Index"));
            }
        }