/// <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 [ 資料處理 ] } }
/// <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 [ 資料處理 ] } }
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()); }
public BA01BViewModel(BA01B entity) { this.FromDomain(entity); }
/// <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")); } }