/// <summary> /// Reset screen parameter. /// </summary> /// <returns></returns> public ActionResult IVS250_resetParam() { ObjectResultData res = new ObjectResultData(); try { IVS250_ScreenParameter prm = GetScreenObject <IVS250_ScreenParameter>(); IVS250_ScreenParameter nprm = (IVS250_ScreenParameter)ScreenParameter.ResetScreenParameter(prm); UpdateScreenObject(nprm); res.ResultData = true; //ScreenParameter param = GetScreenObject<object>() as ScreenParameter; //if (param != null) //{ // ScreenParameter nparam = ScreenParameter.ResetScreenParameter(param); // if (nparam != null) // { // nparam.IsLoaded = false; // UpdateScreenObject(nparam); // } //} return(Json(res)); } catch (Exception ex) { res.AddErrorMessage(ex); return(Json(res)); } }
/// <summary> /// Validate before register.<br /> /// - Unit price more than 0. /// </summary> /// <returns></returns> public ActionResult IVS250_ValidateRegis_2() { ObjectResultData res = new ObjectResultData(); try { IVS250_ScreenParameter prm = GetScreenObject <IVS250_ScreenParameter>(); if (prm.lstInstrument == null) { prm.lstInstrument = new List <doInstrument250>(); } foreach (doInstrument250 i in prm.lstInstrument) { if (i.UnitPrice == 0) { //res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4024); return(Json(res)); } } res.ResultData = true; return(Json(res)); } catch (Exception ex) { res.AddErrorMessage(ex); return(Json(res)); } }
/// <summary> /// Calculate total amount. /// </summary> /// <returns></returns> public ActionResult IVS250_CalTotalAmount() { ObjectResultData res = new ObjectResultData(); try { IVS250_ScreenParameter prm = GetScreenObject <IVS250_ScreenParameter>(); if (prm.lstInstrument == null) { prm.lstInstrument = new List <doInstrument250>(); } decimal TotalAmount = 0; foreach (doInstrument250 i in prm.lstInstrument) { TotalAmount += i.Amount; } res.ResultData = TotalAmount.ToString("#,##0.00"); //res.ResultData = TotalAmount; return(Json(res)); } catch (Exception ex) { res.AddErrorMessage(ex); return(Json(res)); } }
/// <summary> /// Rempove selected instrument form list. /// </summary> /// <param name="InstCode"></param> /// <returns></returns> public ActionResult IVS250_RemoveInst(string InstCode) { ObjectResultData res = new ObjectResultData(); try { IVS250_ScreenParameter prm = GetScreenObject <IVS250_ScreenParameter>(); if (prm.lstInstrument == null) { prm.lstInstrument = new List <doInstrument250>(); } // bool Exist = false; for (int i = 0; i < prm.lstInstrument.Count; i++) { if (InstCode == prm.lstInstrument[i].InstrumentCode) { prm.lstInstrument.RemoveAt(i); } } return(Json(true)); } catch (Exception ex) { res.AddErrorMessage(ex); return(Json(res)); } }
public ActionResult IVS250() { IVS250_ScreenParameter prm = GetScreenObject <IVS250_ScreenParameter>(); //Add by Jutarat A. on 31072013 ViewBag.Domestic = PurchaseOrderType.C_PURCHASE_ORDER_TYPE_DOMESTIC; ViewBag.CurrencyTHB = CurrencyType.C_CURRENCY_TYPE_THB; ViewBag.VatTHB = prm.m_VatTHB; //Add by Jutarat A. on 31072013 ViewBag.WHT = prm.m_WHT; return(View()); }
/// <summary> /// - Validate require field.<br /> /// - Search supplier and return. /// </summary> /// <param name="Cond"></param> /// <returns></returns> public ActionResult SearchSupplier(doSupplierSearch Cond) { ObjectResultData res = new ObjectResultData(); try { IVS250_ScreenParameter prm = GetScreenObject <IVS250_ScreenParameter>(); if (prm.Supplier == null) { prm.Supplier = new DataEntity.Master.tbm_Supplier(); } ValidatorUtil.BuildErrorMessage(res, this, new object[] { Cond }); if (res.IsError) { res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; return(Json(res)); } if (!CommonUtil.IsNullOrEmpty(Cond.SupplierName) && !CommonUtil.IsNullOrEmpty(Cond.SupplierCode)) { res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4017); res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION; return(Json(res)); } ISupplierMasterHandler SupH = ServiceContainer.GetService <ISupplierMasterHandler>() as ISupplierMasterHandler; DataEntity.Master.tbm_Supplier doSupplier = SupH.GetSupplier(Cond.SupplierCode, Cond.SupplierName); if (string.IsNullOrEmpty(doSupplier.SupplierCode)) { res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0001); res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION; return(Json(res)); } else { prm.Supplier = doSupplier; } res.ResultData = prm.Supplier; UpdateScreenObject(prm); return(Json(res)); } catch (Exception ex) { res.AddErrorMessage(ex); return(Json(res)); } }
/// <summary> /// - Check system suspending.<br /> /// - Check user permission for screen IVS250.<br /> /// - Get inventory head office. /// </summary> /// <param name="param"></param> /// <returns></returns> public ActionResult IVS250_Authority(IVS250_ScreenParameter param) { ObjectResultData res = new ObjectResultData(); try { GetScreenObject <IVS250_ScreenParameter>(); ICommonHandler comh = ServiceContainer.GetService <ICommonHandler>() as ICommonHandler; if (comh.IsSystemSuspending()) { res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0049); return(Json(res)); } if (!CheckUserPermission(ScreenID.C_INV_SCREEN_ID_REGISTER_PURCHASE_ORDER, FunctionID.C_FUNC_ID_OPERATE)) { res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0053); return(Json(res)); } IInventoryHandler handInven = ServiceContainer.GetService <IInventoryHandler>() as IInventoryHandler; List <doOffice> IvHeadOffice = handInven.GetInventoryHeadOffice(); if (IvHeadOffice.Count <= 0) { res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4016); return(Json(res)); } ICommonHandler ComH = ServiceContainer.GetService <ICommonHandler>() as ICommonHandler; List <doSystemConfig> config = ComH.GetSystemConfig(ConfigName.C_VAT_THB); param.m_VatTHB = Convert.ToDecimal(config[0].ConfigValue); param.office = IvHeadOffice[0]; List <doSystemConfig> configWht = ComH.GetSystemConfig(ConfigName.C_WHT); param.m_WHT = Convert.ToDecimal(configWht[0].ConfigValue); } catch (Exception ex) { res.AddErrorMessage(ex); } return(InitialScreenEnvironment <IVS250_ScreenParameter>("IVS250", param, res)); }
/// <summary> /// Download report and write log. /// </summary> /// <returns></returns> public ActionResult IVS250_DownloadPdfAndWriteLog() { try { IVS250_ScreenParameter prm = GetScreenObject <IVS250_ScreenParameter>(); string fileName = prm.reportFilePath; doDocumentDownloadLog doDownloadLog = new doDocumentDownloadLog() { DocumentNo = prm.slipNo, DocumentOCC = ConfigName.C_CONFIG_DOC_OCC_DEFAULT, DownloadDate = CommonUtil.dsTransData.dtOperationData.ProcessDateTime, DownloadBy = CommonUtil.dsTransData.dtUserData.EmpNo }; //if (prm.SpecifyPOrder250.PurchaseOrderType == PurchaseOrderType.C_PURCHASE_ORDER_TYPE_SECOM) //{ // doDownloadLog.DocumentCode = ReportID.C_INV_REPORT_ID_PURCHASE_ORDER_CHN; //} //else if (prm.SpecifyPOrder250.PurchaseOrderType == PurchaseOrderType.C_PURCHASE_ORDER_TYPE_DOMESTIC) //{ // doDownloadLog.DocumentCode = ReportID.C_INV_REPORT_ID_PURCHASE_ORDER_DOM; //} doDownloadLog.DocumentCode = ReportID.C_INV_REPORT_ID_PURCHASE_ORDER; ILogHandler handlerLog = ServiceContainer.GetService <ILogHandler>() as ILogHandler; int isSuccess = handlerLog.WriteDocumentDownloadLog(doDownloadLog); IDocumentHandler handlerDoc = ServiceContainer.GetService <IDocumentHandler>() as IDocumentHandler; Stream reportStream = handlerDoc.GetDocumentReportFileStream(fileName); return(File(reportStream, "application/pdf")); } catch (Exception ex) { ObjectResultData res = new ObjectResultData(); res.AddErrorMessage(ex); return(Json(res)); } }
/// <summary> /// Check is report file exist. /// </summary> /// <returns></returns> public ActionResult IVS250_CheckExistFile() { try { IVS250_ScreenParameter prm = GetScreenObject <IVS250_ScreenParameter>(); string path = prm.reportFilePath; if (System.IO.File.Exists(path) == true) { return(Json(1)); } else { return(Json(0)); } } catch (Exception ex) { ObjectResultData res = new ObjectResultData(); res.AddErrorMessage(ex); return(Json(res)); } }
/// <summary> /// Calculate amount. /// </summary> /// <param name="InstCode"></param> /// <param name="UnitPrice"></param> /// <param name="OrderQty"></param> /// <returns></returns> public ActionResult IVS250_CalculateAmount(string InstCode, decimal?UnitPrice, int?OrderQty, decimal?Amount) { ObjectResultData res = new ObjectResultData(); try { IVS250_ScreenParameter prm = GetScreenObject <IVS250_ScreenParameter>(); if (prm.lstInstrument == null) { prm.lstInstrument = new List <doInstrument250>(); } decimal decTotalAmount = 0; //Add by Jutarat A. on 01082013 string strAmount = string.Empty; //Add by Jutarat A. on 01082013 decimal?decAmount = null; foreach (var inst in prm.lstInstrument) { if (inst.InstrumentCode == InstCode) { inst.OrderQty = OrderQty; inst.UnitPrice = (UnitPrice ?? 0); if (CommonUtil.IsNullOrEmpty(Amount)) { inst.Amount = (inst.OrderQty ?? 0) * (inst.UnitPrice ?? 0); } else { inst.Amount = (Amount ?? 0); } strAmount = inst.Amount_view; decAmount = inst.Amount; } decTotalAmount += inst.Amount; } //Add by Jutarat A. on 01082013 decimal decVatTotal = Math.Round(((decTotalAmount * prm.m_VatTHB) / 100), 2); doPOrderAmount result = new doPOrderAmount(); result.Amount = strAmount; result.AmountDecimal = decAmount; result.TotalAmount = decTotalAmount.ToString("#,##0.00"); result.Vat = decVatTotal.ToString("#,##0.00"); res.ResultData = result; if (prm.SpecifyPOrder250 != null) { prm.SpecifyPOrder250.TotalAmount = decTotalAmount; prm.SpecifyPOrder250.Vat = decVatTotal; } //End Add return(Json(res)); } catch (Exception ex) { res.AddErrorMessage(ex); return(Json(res)); } }
/// <summary> /// Register purchase order.<br /> /// - Check system suspending.<br /> /// - Check permission.<br /> /// - Insert new purchase order.<br /> /// - Generate report. /// </summary> /// <returns></returns> public ActionResult IVS250_cmdConfirm() { ObjectResultData res = new ObjectResultData(); try { IVS250_ScreenParameter prm = GetScreenObject <IVS250_ScreenParameter>(); if (prm.lstInstrument == null) { prm.lstInstrument = new List <doInstrument250>(); } if (prm.SpecifyPOrder250 == null) { prm.SpecifyPOrder250 = new doSpecifyPOrder250(); } //Check Suspend ICommonHandler ComH = ServiceContainer.GetService <ICommonHandler>() as ICommonHandler; if (ComH.IsSystemSuspending()) { res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0049); return(Json(res)); } if (!CheckUserPermission(ScreenID.C_INV_SCREEN_ID_REGISTER_PURCHASE_ORDER, FunctionID.C_FUNC_ID_OPERATE)) { res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0053); return(Json(res)); } foreach (var i in prm.lstInstrument) { IInstrumentMasterHandler InsH = ServiceContainer.GetService <IInstrumentMasterHandler>() as IInstrumentMasterHandler; List <tbm_Instrument> lstInst = InsH.GetTbm_Instrument(i.InstrumentCode); if (lstInst[0].LineUpTypeCode == LineUpType.C_LINE_UP_TYPE_LOGICAL_DELETE) { res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4140, new string[] { lstInst[0].InstrumentCode }); return(Json(res)); } } using (TransactionScope scope = new TransactionScope()) { try { IInventoryHandler InvH = ServiceContainer.GetService <IInventoryHandler>() as IInventoryHandler; string strPurchaseOrderNo = InvH.GeneratePurchaseOrderNo(prm.Supplier.RegionCode); tbt_PurchaseOrder doPurchaseOrder = new tbt_PurchaseOrder(); doPurchaseOrder.PurchaseOrderNo = strPurchaseOrderNo; doPurchaseOrder.PurhcaseOrderType = prm.SpecifyPOrder250.PurchaseOrderType; doPurchaseOrder.PurchaseOrderStatus = PurchaseOrderStatus.C_PURCHASE_ORDER_STATUS_WAIT_TO_RECEIVE; doPurchaseOrder.SupplierCode = prm.SpecifyPOrder250.SupplierCode; doPurchaseOrder.TransportType = prm.SpecifyPOrder250.TransportType; doPurchaseOrder.Currency = prm.SpecifyPOrder250.Currency; doPurchaseOrder.BankName = prm.Supplier.BankName; doPurchaseOrder.AccountNo = prm.Supplier.AccountNo; doPurchaseOrder.AccountName = prm.Supplier.AccountName; doPurchaseOrder.ShippingDate = prm.SpecifyPOrder250.AdjustDueDate; doPurchaseOrder.Amount = prm.SpecifyPOrder250.TotalAmount; if (prm.SpecifyPOrder250.PurchaseOrderType == PurchaseOrderType.C_PURCHASE_ORDER_TYPE_DOMESTIC || (prm.SpecifyPOrder250.PurchaseOrderType == PurchaseOrderType.C_PURCHASE_ORDER_TYPE_SECOM && prm.SpecifyPOrder250.Currency == CurrencyType.C_CURRENCY_TYPE_THB)) { doPurchaseOrder.Vat = prm.SpecifyPOrder250.Vat; } doPurchaseOrder.Memo = prm.SpecifyPOrder250.Memo; doPurchaseOrder.CreateBy = CommonUtil.dsTransData.dtUserData.EmpNo; doPurchaseOrder.CreateDate = CommonUtil.dsTransData.dtOperationData.ProcessDateTime; doPurchaseOrder.UpdateDate = CommonUtil.dsTransData.dtOperationData.ProcessDateTime; doPurchaseOrder.UpdateBy = CommonUtil.dsTransData.dtUserData.EmpNo; doPurchaseOrder.WHT = prm.SpecifyPOrder250.WHT; doPurchaseOrder.Discount = prm.SpecifyPOrder250.Discount; List <tbt_PurchaseOrder> lst = new List <tbt_PurchaseOrder>(); lst.Add(doPurchaseOrder); List <tbt_PurchaseOrder> dolstPurchaseOrder = InvH.InsertTbt_PurchaseOrder(lst); if (dolstPurchaseOrder.Count <= 0) { throw ApplicationErrorException.ThrowErrorException(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0148, new string[] { TableName.C_TBL_NAME_INV_PURCHASE }); } List <tbt_PurchaseOrderDetail> lstDetail = new List <tbt_PurchaseOrderDetail>(); //foreach (doInstrument250 i in prm.lstInstrument) foreach (doInstrument250 i in prm.SpecifyPOrder250.InstrumentData) //Modify by Jutarat A. on 28102013 { tbt_PurchaseOrderDetail OrderDetail = new tbt_PurchaseOrderDetail(); OrderDetail.PurchaseOrderNo = strPurchaseOrderNo; OrderDetail.InstrumentCode = i.InstrumentCode; OrderDetail.InstrumentName = i.InstrumentName; //Add by Jutarat A. on 28102013 OrderDetail.Memo = i.Memo; //Add by Jutarat A. on 28102013 OrderDetail.UnitPrice = i.UnitPrice; OrderDetail.FirstOrderQty = i.OrderQty; OrderDetail.ModifyOrderQty = null; OrderDetail.ReceiveQty = 0; OrderDetail.CreateBy = CommonUtil.dsTransData.dtUserData.EmpNo; OrderDetail.CreateDate = CommonUtil.dsTransData.dtOperationData.ProcessDateTime; OrderDetail.UpdateDate = CommonUtil.dsTransData.dtOperationData.ProcessDateTime; OrderDetail.UpdateBy = CommonUtil.dsTransData.dtUserData.EmpNo; OrderDetail.Unit = i.Unit; OrderDetail.OriginalUnitPrice = i.OriginalUnitPrice; OrderDetail.Amount = i.Amount; lstDetail.Add(OrderDetail); } List <tbt_PurchaseOrderDetail> doPurchaseOrderDetail = InvH.InsertTbt_PurchaseOrderDetail(lstDetail); if (doPurchaseOrderDetail.Count <= 0) { throw ApplicationErrorException.ThrowErrorException(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0148, new string[] { TableName.C_TBL_NAME_INV_PURCHASE_DETAIL }); } //if (prm.SpecifyPOrder250.PurchaseOrderType == PurchaseOrderType.C_PURCHASE_ORDER_TYPE_SECOM) //{ // IInventoryDocumentHandler handlerInventoryDocument = ServiceContainer.GetService<IInventoryDocumentHandler>() as IInventoryDocumentHandler; // string reportPath = handlerInventoryDocument.GenerateIVR190FilePath(strPurchaseOrderNo, prm.office.OfficeCode, CommonUtil.dsTransData.dtUserData.EmpNo, CommonUtil.dsTransData.dtOperationData.ProcessDateTime); // prm.slipNo = strPurchaseOrderNo; // prm.reportFilePath = reportPath; //} //else if (prm.SpecifyPOrder250.PurchaseOrderType == PurchaseOrderType.C_PURCHASE_ORDER_TYPE_DOMESTIC) //{ // IInventoryDocumentHandler handlerInventoryDocument = ServiceContainer.GetService<IInventoryDocumentHandler>() as IInventoryDocumentHandler; // string reportPath = handlerInventoryDocument.GenerateIVR191FilePath(strPurchaseOrderNo, prm.office.OfficeCode, CommonUtil.dsTransData.dtUserData.EmpNo, CommonUtil.dsTransData.dtOperationData.ProcessDateTime); // prm.slipNo = strPurchaseOrderNo; // prm.reportFilePath = reportPath; //} IInventoryDocumentHandler handlerInventoryDocument = ServiceContainer.GetService <IInventoryDocumentHandler>() as IInventoryDocumentHandler; string reportPath = handlerInventoryDocument.GenerateIVR192FilePath(strPurchaseOrderNo, prm.office.OfficeCode, CommonUtil.dsTransData.dtUserData.EmpNo, CommonUtil.dsTransData.dtOperationData.ProcessDateTime); prm.slipNo = strPurchaseOrderNo; prm.reportFilePath = reportPath; scope.Complete(); res.ResultData = strPurchaseOrderNo; return(Json(res)); } catch (Exception ex) { res.AddErrorMessage(ex); return(Json(res)); } } } catch (Exception ex) { res.AddErrorMessage(ex); return(Json(res)); } }
/// <summary> /// Validate before register.<br /> /// - Validate require field.<br /> /// - Check system suspending.<br /> /// - Check permission.<br /> /// - Check purchase order type.<br /> /// - Check memo.<br /> /// - Check total amount.<br /> /// - Check added instrument not empty. /// </summary> /// <param name="Cond"></param> /// <returns></returns> public ActionResult IVS250_ValidateRegis(doSpecifyPOrder250_Domes Cond) { ObjectResultData res = new ObjectResultData(); try { IVS250_ScreenParameter prm = GetScreenObject <IVS250_ScreenParameter>(); if (prm.lstInstrument == null) { prm.lstInstrument = new List <doInstrument250>(); } ICommonHandler ComH = ServiceContainer.GetService <ICommonHandler>() as ICommonHandler; if (ComH.IsSystemSuspending()) { res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0049); return(Json(res)); } if (!CheckUserPermission(ScreenID.C_INV_SCREEN_ID_REGISTER_PURCHASE_ORDER, FunctionID.C_FUNC_ID_OPERATE)) { res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0053); return(Json(res)); } if (Cond.PurchaseOrderType == PurchaseOrderType.C_PURCHASE_ORDER_TYPE_DOMESTIC) { ValidatorUtil.BuildErrorMessage(res, this, null); if (res.IsError) { res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; return(Json(res)); } } else { doSpecifyPOrder250 Porder = CommonUtil.CloneObject <doSpecifyPOrder250_Domes, doSpecifyPOrder250>(Cond); ValidatorUtil.BuildErrorMessage(res, new object[] { Porder }, null); if (res.IsError) { res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; return(Json(res)); } } //14.4.2 if (CommonUtil.IsNullOrEmpty(Cond.Memo)) { Cond.Memo = ""; } if (Cond.Memo.Replace(" ", "").Contains("\n\n\n\n")) { res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4022); res.ResultData = "4022"; return(Json(res)); } if (Cond.TotalAmount > Convert.ToDecimal(CommonValue.C_MAX_AMOUNT)) { res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4132); return(Json(res)); } decimal totalAmtBeforeDisc = prm.lstInstrument.Sum(d => d.Amount); if (Cond.Discount > totalAmtBeforeDisc) { res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4144, null, new string[] { "Discount" }); return(Json(res)); } if ((Cond.TotalAmount - Cond.WHT + Cond.Vat) < 0 && Cond.TotalAmount > 0) { res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4114, null, new string[] { "Vat", "WHT" }); return(Json(res)); } if (prm.lstInstrument.Count <= 0) { res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4133); return(Json(res)); } foreach (var i in prm.lstInstrument) { IInstrumentMasterHandler InsH = ServiceContainer.GetService <IInstrumentMasterHandler>() as IInstrumentMasterHandler; List <tbm_Instrument> lstInst = InsH.GetTbm_Instrument(i.InstrumentCode); if (lstInst[0].LineUpTypeCode == LineUpType.C_LINE_UP_TYPE_LOGICAL_DELETE) { res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4140, new string[] { lstInst[0].InstrumentCode }); return(Json(res)); } } foreach (var i in Cond.InstrumentData) { if (CommonUtil.IsNullOrEmpty(i.Unit)) { res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4145, null, new string[] { i.UnitCtrlID }); return(Json(res)); } } prm.Supplier.BankName = Cond.BankName; prm.Supplier.AccountNo = Cond.AccountNo; prm.Supplier.AccountName = Cond.AccountName; // get data from param to session prm.SpecifyPOrder250 = Cond; UpdateScreenObject(prm); res.ResultData = true; return(Json(res)); } catch (Exception ex) { res.AddErrorMessage(ex); return(Json(res)); } }
/// <summary> /// Validate before add instrument.<br /> /// - Validate require field.<br /> /// - Check quantity.<br /> /// - Check instrument code.<br /> /// - Check is exist instrument.<br /> /// - Check cannot add more than 15 instruments. /// </summary> /// <param name="Cond"></param> /// <returns></returns> public ActionResult IVS250_ValidateAddInst(doInstrument250 Cond) { ObjectResultData res = new ObjectResultData(); try { IVS250_ScreenParameter prm = GetScreenObject <IVS250_ScreenParameter>(); if (prm.lstInstrument == null) { prm.lstInstrument = new List <doInstrument250>(); } ValidatorUtil.BuildErrorMessage(res, this, null); if (res.IsError) { res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; return(Json(res)); } //add new 25/11/2015 adunyarich IInventoryHandler invH = ServiceContainer.GetService <IInventoryHandler>() as IInventoryHandler; IInstrumentMasterHandler InsH = ServiceContainer.GetService <IInstrumentMasterHandler>() as IInstrumentMasterHandler; List <tbm_Instrument> lstInst = InsH.GetTbm_Instrument(Cond.InstrumentCode.Trim()); if (lstInst.FirstOrDefault().LineUpTypeCode == "3") { res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4149, new string[] { Cond.InstrumentCode }); return(Json(res)); } if (res.IsError) { res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; return(Json(res)); } if (Cond.OrderQty.Value <= 0) { res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4020); return(Json(res)); } if ((!CommonUtil.IsNullOrEmpty(Cond.InstrumentCode)) && CommonUtil.IsNullOrEmpty(Cond.dtNewInstrument)) { res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0082, new string[] { Cond.InstrumentCode }, new string[] { "InstrumentCode" }); return(Json(res)); } if (CommonUtil.IsNullOrEmpty(Cond.Unit)) { res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4145, null, new string[] { "Unit" }); return(Json(res)); } List <doInstrument250> exist = (from c in prm.lstInstrument where c.InstrumentCode == Cond.InstrumentCode select c).ToList <doInstrument250>(); if (exist.Count > 0) { res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4038); return(Json(res)); } //if (prm.lstInstrument.Count >= 15) //{ // res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4021); // return Json(res); //} Cond.Amount = (Cond.OrderQty ?? 0) * (Cond.UnitPrice ?? 0); prm.lstInstrument.Add(Cond); UpdateScreenObject(prm); res.ResultData = Cond; return(Json(res)); } catch (Exception ex) { res.AddErrorMessage(ex); return(Json(res)); } }