/// <summary> /// Retrieve invoice information of specific invoice no. /// </summary> /// <param name="param">invoice no.</param> /// <returns></returns> public ActionResult ICS050_GetInvoice(ICS050_ScreenParameter param) { ObjectResultData res = new ObjectResultData(); res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; doInvoice doInvoice; try { ValidatorUtil validator = new ValidatorUtil(); // Check required field. if (CommonUtil.IsNullOrEmpty(param) || string.IsNullOrEmpty(param.InvoiceNo)) { validator.AddErrorMessage(MessageUtil.MODULE_INCOME, "ICS050" , MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0007 , "InvoiceNo", "lblInvoiceNo", "InvoiceNo"); ValidatorUtil.BuildErrorMessage(res, validator, null); return(Json(res)); } //Get Invoice Data var billingHandler = ServiceContainer.GetService <IBillingHandler>() as IBillingHandler; doInvoice = billingHandler.GetInvoice(param.InvoiceNo); if (doInvoice == null) { validator.AddErrorMessage(MessageUtil.MODULE_INCOME, "ICS050" , MessageUtil.MODULE_INCOME, MessageUtil.MessageList.MSG7003 , "InvoiceNo", "lblInvoiceNo", "InvoiceNo"); ValidatorUtil.BuildErrorMessage(res, validator, null); res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION; return(Json(res)); } //Validate business ICS050_ValidateInvoiceBusiness(doInvoice, validator); ValidatorUtil.BuildErrorMessage(res, validator, null); if (res.IsError) { return(Json(res)); } //Pass res.ResultData = doInvoice; return(Json(res)); } catch (Exception ex) { res = new ObjectResultData(); res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION; res.AddErrorMessage(ex); return(Json(res)); } }
/// <summary> /// Generate taxinvoice/receipt pdf report /// </summary> /// <returns></returns> public ActionResult ICS050_DisplayReport() { ICS050_ScreenParameter screenSession = GetScreenObject <ICS050_ScreenParameter>(); if (screenSession != null && !string.IsNullOrEmpty(screenSession.PDFFilePath)) { IDocumentHandler handlerDocument = ServiceContainer.GetService <IDocumentHandler>() as IDocumentHandler; Stream filestream = handlerDocument.GetDocumentReportFileStream(screenSession.PDFFilePath); return(File(filestream, "application/pdf")); } else { //Do nothing ObjectResultData res = new ObjectResultData(); res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; return(Json(res)); } }
/// <summary> /// Check screen authority and permission /// </summary> /// <param name="param"></param> /// <returns></returns> public ActionResult ICS050_Authority(ICS050_ScreenParameter param) { ObjectResultData res = new ObjectResultData(); try { if (IsSuspend(res)) { return(Json(res)); } // Check permission if (!ICS050_IsAllowOperate(res)) { return(Json(res)); } } catch (Exception ex) { res.AddErrorMessage(ex); } return(InitialScreenEnvironment <ICS050_ScreenParameter>("ICS050", param, res)); }
public ActionResult ICS050() { ICS050_ScreenParameter param = GetScreenObject <ICS050_ScreenParameter>(); return(View()); }
/// <summary> /// Event when click confirm button, this function will force issued taxinvoice, receipt information of specific invoice information to the system. /// </summary> /// <param name="param">invoice information</param> /// <returns></returns> public ActionResult ICS050_cmdConfirm(ICS050_ScreenParameter param) { ObjectResultData res = new ObjectResultData(); res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION; doInvoice doInvoice; try { if (IsSuspend(res)) { return(Json(res)); } if (!ICS050_IsAllowOperate(res)) { return(Json(res)); } ValidatorUtil validator = new ValidatorUtil(); //Validate Model ValidatorUtil.BuildErrorMessage(res, this, new object[] { param }); if (res.IsError) { return(Json(res)); } //Get Invoice Data var billingHandler = ServiceContainer.GetService <IBillingHandler>() as IBillingHandler; doInvoice = billingHandler.GetInvoice(param.InvoiceNo); if (doInvoice == null) { validator.AddErrorMessage(MessageUtil.MODULE_INCOME, "ICS050" , MessageUtil.MODULE_INCOME, MessageUtil.MessageList.MSG7003 , "InvoiceNo", "lblInvoiceNo", "InvoiceNo"); ValidatorUtil.BuildErrorMessage(res, validator, null); res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION; return(Json(res)); } //Validate business ICS050_ValidateInvoiceBusiness(doInvoice, validator); ValidatorUtil.BuildErrorMessage(res, validator, null); if (res.IsError) { return(Json(res)); } //Issued TaxInvoice , Receipt using (TransactionScope scope = new TransactionScope()) { try { //bool isIssuedTaxInvoice = billingHandler.CheckTaxInvoiceIssued(doInvoice); bool isIssuedTaxInvoice = billingHandler.CheckInvoiceIssuedTaxInvoice(doInvoice.InvoiceNo, doInvoice.InvoiceOCC); string pdfFilePath; if (isIssuedTaxInvoice == false) { //Issue tax invoice, receipt pdfFilePath = ICS050_IssueTaxInvoiceReceipt(doInvoice, param.IssueInvoiceDate.Value, validator); } else { //Issue only receipt pdfFilePath = ICS050_IssueReceipt(doInvoice, param.IssueInvoiceDate.Value, validator); } if (pdfFilePath != null) { //Success scope.Complete(); // Commeny by Jirawat Jannet @2016-10-17 ICS050_ScreenParameter screenSession = GetScreenObject <ICS050_ScreenParameter>(); screenSession.PDFFilePath = pdfFilePath; res.ResultData = "1"; return(Json(res)); //res.ResultData = "1"; // add by Jirawat Jannet @ 2016-10-17 //return Json(res); } //All incompleted cases scope.Dispose(); } catch (Exception ex) { scope.Dispose(); throw ex; } } } catch (Exception ex) { res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION; res.AddErrorMessage(ex); } return(Json(res)); }
/// <summary> /// Event when click register button /// </summary> /// <param name="param">invoice information</param> /// <returns></returns> public ActionResult ICS050_cmdRegister(ICS050_ScreenParameter param) { ICS050_ScreenParameter session = GetScreenObject <ICS050_ScreenParameter>(); ObjectResultData res = new ObjectResultData(); res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; doInvoice doInvoice; try { if (IsSuspend(res)) { return(Json(res)); } if (!ICS050_IsAllowOperate(res)) { return(Json(res)); } ValidatorUtil validator = new ValidatorUtil(); //Validate Model ValidatorUtil.BuildErrorMessage(res, this, new object[] { param }); if (res.IsError) { return(Json(res)); } //Get Invoice Data var billingHandler = ServiceContainer.GetService <IBillingHandler>() as IBillingHandler; doInvoice = billingHandler.GetInvoice(param.InvoiceNo); if (doInvoice == null) { validator.AddErrorMessage(MessageUtil.MODULE_INCOME, "ICS050" , MessageUtil.MODULE_INCOME, MessageUtil.MessageList.MSG7003 , "InvoiceNo", "lblInvoiceNo", "InvoiceNo"); ValidatorUtil.BuildErrorMessage(res, validator, null); res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION; return(Json(res)); } //Validate business ICS050_ValidateInvoiceBusiness(doInvoice, validator); ValidatorUtil.BuildErrorMessage(res, validator, null); if (res.IsError) { return(Json(res)); } //Result flag 1 = Success res.ResultData = "1"; } catch (Exception ex) { res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION; res.AddErrorMessage(ex); } return(Json(res)); }