public bool CanCancelComplete(long workFlowID) { WorkFlow workFlow = WorkFlowQueryProvider.WorkFlowQuery.FindByIdentity(workFlowID); SCGDocument scgDocument = ScgeAccountingQueryProvider.SCGDocumentQuery.GetSCGDocumentByDocumentID(workFlow.Document.DocumentID); return(scgDocument.ApproverID.Userid == UserAccount.UserID); }
public void InsertDocumentInitiator(Guid txID, long documentID) { DataSet ds = TransactionService.GetDS(txID); SCGDocument document = ScgeAccountingQueryProvider.SCGDocumentQuery.FindProxyByIdentity(documentID); DataTable insertTable = ds.Tables["DocumentInitiator"].GetChanges(DataRowState.Added); if (insertTable != null) { foreach (DataRow row in insertTable.Rows) { if (Convert.ToInt64(row["InitiatorID"].ToString()) < 0) { DocumentInitiator documentInitiator = new DocumentInitiator(); documentInitiator.DocumentID = document; documentInitiator.Seq = (short)row["InitiatorSeq"]; documentInitiator.UserID = QueryProvider.SuUserQuery.FindProxyByIdentity((long)row["UserID"]); documentInitiator.InitiatorType = row["InitiatorType"].ToString(); documentInitiator.DoApprove = false; documentInitiator.Active = (bool)row["Active"]; documentInitiator.CreBy = (long)row["CreBy"]; documentInitiator.CreDate = DateTime.Parse(row["CreDate"].ToString()); documentInitiator.UpdBy = (long)row["UpdBy"]; documentInitiator.UpdDate = DateTime.Parse(row["UpdDate"].ToString()); documentInitiator.UpdPgm = row["UpdPgm"].ToString(); ScgeAccountingDaoProvider.DocumentInitiatorDao.Save(documentInitiator); } } } }
public void SendSMS03(long workFlowID, string RequestID, IList <long> ReciverList) { try { if (ParameterServices.EnableSMS) { Document document = WorkFlowQueryProvider.WorkFlowQuery.GetDocumentByWorkFlowID(workFlowID); SCGDocument scgDocument = ScgeAccountingQueryProvider.SCGDocumentQuery.FindByIdentity(document.DocumentID); FnAutoPayment autoPayment = ScgeAccountingQueryProvider.FnAutoPaymentQuery.GetFnAutoPaymentByDocumentID(document.DocumentID); foreach (long userID in ReciverList) { SuUser sendToUser = QueryProvider.SuUserQuery.FindByIdentity(userID); if (sendToUser.SMSReadyToReceive) { string ToPhoneNo = sendToUser.MobilePhoneNo.ToString(); SMSDTO smsDto = new SMSDTO(); string Mobile = "66" + ToPhoneNo.ToString().Remove(0, 1); smsDto.To = Mobile; smsDto.PaymentDate = autoPayment.PaymentDate.Value; smsDto.Amount = autoPayment.Amount.ToString(); smsDto.Requestor = RequestID; smsDto.DocumentNo = scgDocument.DocumentNo; smsDto.UseProxy = true; smsDto.Content = BuildContentBody(smsDto, SMSContenFormat.SMS03, SMSBusinessCase.Cheque); this.sendSMSStatus = SMSService.Send(smsDto); } } } } catch (Exception ex) { Utilities.WriteLogs("SendSMS03 : ==> " + ex.Message, "smslog", "Logs", "txt"); } }
public override string OnApproveWaitInitial(long workFlowID, object eventData) { WorkFlow workFlow = WorkFlowQueryProvider.WorkFlowQuery.FindByIdentity(workFlowID); SCGDocument scgDocument = ScgeAccountingQueryProvider.SCGDocumentQuery.GetSCGDocumentByDocumentID(workFlow.Document.DocumentID); Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors(); MPADocument mpaDocument = ScgeAccountingQueryProvider.MPADocumentQuery.GetMPADocumentByDocumentID(workFlow.Document.DocumentID); IList <long> advanceWorkflowIDs = new List <long>(); if (!errors.IsEmpty) { throw new SS.Standard.Utilities.ServiceValidationException(errors); } string signal = base.OnApproveWaitInitial(workFlowID, eventData); // ====================== For Approve all advance that link to TA ====================== // Use state WaitInitial to add into table WorkflowResponse string eventName = "Approve"; WorkFlowStateEvent stateEvent = WorkFlowQueryProvider.WorkFlowStateEventQuery.GetByWorkFlowStateID_EventName(AdvanceStateID.WaitInitial, eventName); //SubmitResponse submitResponse = eventData as SubmitResponse; return(signal); }
public void SendEmailToOverDueDate() { IList <VOAdvanceOverDueReport> voList = ScgeAccountingQueryProvider.SCGDocumentQuery.GetAdvanceOverdueList(); foreach (VOAdvanceOverDueReport item in voList) { SCGDocument document = SCGDocumentService.FindByIdentity(item.DocumentID); SCGEmailService.SendEmailEM10(item.AdvanceID, document.RequesterID.Userid, document.ApproverID.Email, "This is e-mail for autoreminder advancedocument system.", true); } }
protected void ctlAdvanceReportGrid_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandSource is LinkButton) { int rowIndex = ((GridViewRow)((LinkButton)e.CommandSource).NamingContainer).RowIndex; long requesterID = UIHelper.ParseLong(ctlAdvanceReportGrid.DataKeys[rowIndex].Values["RequesterID"].ToString()); long documentID = UIHelper.ParseLong(ctlAdvanceReportGrid.DataKeys[rowIndex].Values["DocumentID"].ToString()); long advanceID = UIHelper.ParseLong(ctlAdvanceReportGrid.DataKeys[rowIndex].Values["AdvanceID"].ToString()); long expenseID = UIHelper.ParseLong(ctlAdvanceReportGrid.DataKeys[rowIndex].Values["ExpenseID"].ToString()); string requestNo = ctlAdvanceReportGrid.DataKeys[rowIndex].Values["DocumentNo"].ToString(); SCGDocument doc = ScgeAccountingQueryProvider.SCGDocumentQuery.FindByIdentity(documentID); if (e.CommandName == "ClickEmail") { ctlSendFollowUpEmail.CreatorID = doc == null ? 0 : doc.CreatorID.Userid; ctlSendFollowUpEmail.RequesterID = requesterID; ctlSendFollowUpEmail.DocumentID = documentID; ctlSendFollowUpEmail.AdvanceDocumentID = advanceID; ctlSendFollowUpEmail.RequestNo = requestNo; ctlSendFollowUpEmail.EmailType = EmailType.EM10.ToString(); ctlSendFollowUpEmail.Show(); } else if (e.CommandName == "ClickSendtime") { ctlSendFollowUpEmail.DocumentID = documentID; AvAdvanceDocument scgDocument = ScgeAccountingQueryProvider.AvAdvanceDocumentQuery.GetAvAdvanceByDocumentID(documentID); if (scgDocument != null) { string documentNo = scgDocument.DocumentID.DocumentNo; //ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), string.Empty, "window.open('../Reports/EmailLogView.aspx?isDuplication=" + Boolean.FalseString + "&EmailType=EM10&RequestNo=" + documentNo + "')", true); ctlEmailLog.RequestNo = documentNo; ctlEmailLog.EmailType = "EM10"; ctlEmailLog.isDisplayCriteria = false; ctlEmailLog.Show(); ctlModalPopupExtender.Show(); } } else if (e.CommandName == "ClickAdvanceNo") { WorkFlow wf = WorkFlowQueryProvider.WorkFlowQuery.GetWorkFlowByDocumentID(documentID); if (wf != null) { ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), string.Empty, "window.open('../Programs/DocumentView.aspx?wfid=" + wf.WorkFlowID.ToString() + "')", true); } } else if (e.CommandName == "ClickExpenseNo") { WorkFlow wf = WorkFlowQueryProvider.WorkFlowQuery.GetWorkFlowByDocumentID(expenseID); if (wf != null) { ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), string.Empty, "window.open('../Programs/DocumentView.aspx?wfid=" + wf.WorkFlowID.ToString() + "')", true); } } } }
protected void Page_Load(object sender, EventArgs e) { if (Request["dId"] != null) { long documentID = UIHelper.ParseLong(Request["dId"].ToString()); SCGDocument document = ScgeAccountingQueryProvider.SCGDocumentQuery.GetSCGDocumentByDocumentID(documentID); if (Request["payin"] == null) { ReportHelper.FlushReport(this.Page, new SCGDocumentService().GeneratePDF(documentID), ReportHelper.ReportType.PDF, document.DocumentNo); } else { if (Request["payin"].ToString().Equals("true")) { ReportHelper.FlushReport(this.Page, new SCGDocumentService().GeneratePayIn(documentID), ReportHelper.ReportType.PDF, document.DocumentNo); } } } }
protected void ctlDocumentGrid_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "ClickEmail") { int rowIndex = ((GridViewRow)((LinkButton)e.CommandSource).NamingContainer).RowIndex; long requesterID = UIHelper.ParseLong(ctlDocumentGrid.DataKeys[rowIndex].Values["RequesterID"].ToString()); long documentID = UIHelper.ParseLong(ctlDocumentGrid.DataKeys[rowIndex].Values["DocumentID"].ToString()); long creatorID = UIHelper.ParseLong(ctlDocumentGrid.DataKeys[rowIndex].Values["CreatorID"].ToString()); ctlSendFollowUpEmail1.RequesterID = requesterID; ctlSendFollowUpEmail1.CreatorID = creatorID; ctlSendFollowUpEmail1.DocumentID = documentID; ctlSendFollowUpEmail1.Show(); } else if (e.CommandName == "ClickSendtime") { int rowIndex = ((GridViewRow)((LinkButton)e.CommandSource).NamingContainer).RowIndex; long documentID = UIHelper.ParseLong(ctlDocumentGrid.DataKeys[rowIndex].Values["DocumentID"].ToString()); ctlSendFollowUpEmail1.DocumentID = documentID; SCGDocument scgDocument = ScgeAccountingQueryProvider.SCGDocumentQuery.FindByIdentity(documentID); if (scgDocument != null) { string documentNo = scgDocument.DocumentNo; ctlEmailLog.RequestNo = documentNo; ctlEmailLog.EmailType = "EM09"; ctlEmailLog.isDisplayCriteria = false; ctlEmailLog.Show(); ctlModalPopupExtender.Show(); } } else if (e.CommandName == "ClickAdvanceNo") { int rowIndex = ((GridViewRow)((LinkButton)e.CommandSource).NamingContainer).RowIndex; long documentID = UIHelper.ParseLong(ctlDocumentGrid.DataKeys[rowIndex].Values["DocumentID"].ToString()); WorkFlow wf = WorkFlowQueryProvider.WorkFlowQuery.GetWorkFlowByDocumentID(documentID); if (wf != null) { ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), string.Empty, "window.open('../Programs/DocumentView.aspx?wfid=" + wf.WorkFlowID.ToString() + "')", true); } } }
public void ReCalculatePermissionForCancelComplete(long workFlowID, int workFlowStateEventID) { //long permitUserID = GetAllowUserSendDraft(workFlowID); WorkFlow workFlow = WorkFlowQueryProvider.WorkFlowQuery.FindByIdentity(workFlowID); SCGDocument scgDocument = ScgeAccountingQueryProvider.SCGDocumentQuery.GetSCGDocumentByDocumentID(workFlow.Document.DocumentID); long permitUserID = scgDocument.ApproverID.Userid; WorkFlowStateEventPermission permission = new WorkFlowStateEventPermission(); permission.WorkFlow = WorkFlowQueryProvider.WorkFlowQuery.FindProxyByIdentity(workFlowID); permission.WorkFlowStateEvent = WorkFlowQueryProvider.WorkFlowStateEventQuery.FindProxyByIdentity(workFlowStateEventID); permission.UserID = permitUserID; permission.Active = true; permission.CreBy = UserAccount.UserID; permission.CreDate = DateTime.Now; permission.UpdBy = UserAccount.UserID; permission.UpdDate = DateTime.Now; permission.UpdPgm = UserAccount.CurrentProgramCode; WorkFlowStateEventPermissionService.Save(permission); }
public long SaveToDatabase() { // Save all table in dataset to database and clear transaction. long caDocumentID = CADocumentService.SaveCADocument(this.TransactionID, this.CADocumentID); // Get ta document CADocument caDocument = ScgeAccountingQueryProvider.CADocumentQuery.FindProxyByIdentity(caDocumentID); TransactionService.Commit(this.TransactionID); #region Work Flow long workFlowID = 0; // Save New WorkFlow. if ((caDocument != null) && (caDocument.DocumentID != null)) { SCGDocument document = ScgeAccountingQueryProvider.SCGDocumentQuery.FindProxyByIdentity(caDocument.DocumentID.DocumentID); SS.Standard.WorkFlow.DTO.WorkFlow workFlow = new SS.Standard.WorkFlow.DTO.WorkFlow(); // WorkFlow Type ID = 9 is CA Workflow Image. wait confirm where to store this data. workFlow.WorkFlowType = new SS.Standard.WorkFlow.DTO.WorkFlowType(WorkFlowTypeID.CAWorkFlow); // WorkFlow Type ID = 9 is CA Workflow Image. wait confirm where to store this data. workFlow.CurrentState = WorkFlowQueryProvider.WorkFlowStateQuery.FindWorkFlowStateIDByTypeIDAndStateName(WorkFlowTypeID.CAWorkFlow, WorkFlowStateFlag.Draft); workFlow.Description = null; workFlow.Document = document; workFlow.Active = true; workFlow.CreBy = document.CreBy; workFlow.CreDate = document.CreDate; workFlow.UpdBy = document.UpdBy; workFlow.UpdDate = document.UpdDate; workFlow.UpdPgm = document.UpdPgm; workFlowID = WorkFlowService.CheckExistAndAddNew(workFlow); } #endregion Work Flow return(workFlowID); }
public override void CreatePostData(long DocID, string DocKind) { Hashtable paramete = new Hashtable(); paramete.Add("@DOCUMENT_ID", DocID.ToString()); DataSet dstPosting = new DBManage().ExecuteQuery("ADVANCE_POSTING", paramete); bool repOffice = false; string mainCurrencySymbol = string.Empty; SCGDocument doc = SCG.eAccounting.Query.ScgeAccountingQueryProvider.SCGDocumentQuery.FindProxyByIdentity(DocID); DbSapInstance sap = SCG.DB.Query.ScgDbQueryProvider.DbCompanyQuery.GetSAPDocTypeForPosting(doc.CompanyID.CompanyCode); if (dstPosting.Tables[0].Rows.Count > 0) { if (!string.IsNullOrEmpty(dstPosting.Tables[0].Rows[0]["IsRepOffice"].ToString())) { repOffice = bool.Parse(dstPosting.Tables[0].Rows[0]["IsRepOffice"].ToString()); } // get main currency symbol if (repOffice) { DbCurrency mainCurrency = SS.DB.Query.SsDbQueryProvider.DbCurrencyQuery.FindByIdentity(short.Parse(dstPosting.Tables[0].Rows[0]["MainCurrencyID"].ToString())); if (mainCurrency != null) { mainCurrencySymbol = mainCurrency.Symbol; } } if (dstPosting.Tables[0].Rows[0]["AdvanceType"].ToString() == ZoneTypeConst.Domestic) { #region HEAD Bapiache09 che09 = new Bapiache09(); che09.DocId = DocID; che09.DocSeq = "M"; che09.DocKind = DocKind; che09.BusAct = PostingConst.BusAct; che09.Username = sap.UserCPIC; //PostingConst.UserCPIC; che09.CompCode = dstPosting.Tables[0].Rows[0]["COMP_CODE"].ToString().Substring(0, 4); che09.DocDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.DocKind = DocKind; che09.DocType = sap.DocTypeAdvancePostingDM;//DocTypeConst.KR; che09.PstngDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.ReverseDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.RefDocNo = SAPUIHelper.SubString(16, dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString()); che09.DocStatus = "N"; if (dstPosting.Tables[0].Rows[0]["PaymentType"].ToString() == PaymentTypeConst.DomesticCash) { che09.DocAppFlag = "A"; } else { che09.DocAppFlag = "V"; } che09.Active = true; che09.CreBy = 1; che09.CreDate = DateTime.Now; che09.UpdBy = 1; che09.UpdDate = DateTime.Now; che09.UpdPgm = "AdvancePosting"; BapiServiceProvider.Bapiache09Service.Save(che09); #endregion HEAD #region Foolter Bapiacextc cextc = new Bapiacextc(); cextc.DocId = DocID; cextc.DocSeq = "M"; cextc.DocKind = DocKind; cextc.Field1 = PostingConst.BRNCH; cextc.Field2 = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); cextc.Active = true; cextc.CreBy = 1; cextc.CreDate = DateTime.Now; cextc.UpdBy = 1; cextc.UpdDate = DateTime.Now; cextc.UpdPgm = "AdvancePosting"; BapiServiceProvider.BapiacextcService.Save(cextc); Bapiacextc cextc1 = new Bapiacextc(); cextc1.DocId = DocID; cextc1.DocSeq = "M"; cextc1.DocKind = DocKind; cextc1.Field1 = PostingConst.VAT; cextc1.Field2 = TaxCodeConst.NV; cextc1.Active = true; cextc1.CreBy = 1; cextc1.CreDate = DateTime.Now; cextc1.UpdBy = 1; cextc1.UpdDate = DateTime.Now; cextc1.UpdPgm = "AdvancePosting"; BapiServiceProvider.BapiacextcService.Save(cextc1); #endregion Foolter #region Domestic Bapiacap09 capItem1 = new Bapiacap09(); Bapiacap09 capItem2 = new Bapiacap09(); Bapiaccr09 accrItem1 = new Bapiaccr09(); Bapiaccr09 accrItem2 = new Bapiaccr09(); if (!repOffice) { if (dstPosting.Tables[0].Rows[0]["PaymentType"].ToString() == PaymentTypeConst.DomesticCash) { #region Cash #region Credit capItem1.DocId = DocID; capItem1.DocSeq = "M"; capItem1.DocKind = DocKind; capItem1.ItemnoAcc = "1"; capItem1.VendorNo = dstPosting.Tables[0].Rows[0]["PBCode"].ToString(); capItem1.PmntBlock = PostingConst.PmntBlock; capItem1.Pmnttrms = PostingConst.Pmnttrms; capItem1.BlineDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); capItem1.AllocNmbr = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["ReceiverID"].ToString())).EmployeeName; capItem1.AllocNmbr = SAPUIHelper.SubString18(capItem1.AllocNmbr); capItem1.PymtMeth = dstPosting.Tables[0].Rows[0]["PaymentMethod"].ToString(); capItem1.ItemText = dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem1.ItemText = SAPUIHelper.SubString50(capItem1.ItemText); capItem1.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem1.TaxCode = TaxCodeConst.NV; if (bool.Parse(dstPosting.Tables[0].Rows[0]["RequireBusinessArea"].ToString())) { capItem1.BusArea = dstPosting.Tables[0].Rows[0]["BusinessArea"].ToString(); } capItem1.Active = true; capItem1.CreBy = 1; capItem1.CreDate = DateTime.Now; capItem1.UpdBy = 1; capItem1.UpdDate = DateTime.Now; capItem1.UpdPgm = "AdvancePosting"; accrItem1.DocId = DocID; accrItem1.DocSeq = "M"; accrItem1.DocKind = DocKind; accrItem1.ItemnoAcc = "1"; accrItem1.Currency = PostingConst.Currency; accrItem1.AmtDoccur = 0 - decimal.Parse(dstPosting.Tables[0].Rows[0]["Amount"].ToString()); accrItem1.Active = true; accrItem1.CreBy = 1; accrItem1.CreDate = DateTime.Now; accrItem1.UpdBy = 1; accrItem1.UpdDate = DateTime.Now; accrItem1.UpdPgm = "AdvancePosting"; #endregion Credit #region Debit capItem2.DocId = DocID; capItem2.DocSeq = "M"; capItem2.DocKind = DocKind; capItem2.ItemnoAcc = "2"; capItem2.VendorNo = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["RequesterID"].ToString())).VendorCode; capItem2.Pmnttrms = PostingConst.Pmnttrms; capItem2.PymtMeth = dstPosting.Tables[0].Rows[0]["PaymentMethod"].ToString(); capItem2.BlineDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); capItem2.PmntBlock = PostingConst.PmntBlock; capItem2.AllocNmbr = dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString(); capItem2.AllocNmbr = SAPUIHelper.SubString18(capItem2.AllocNmbr); capItem2.ItemText = dstPosting.Tables[0].Rows[0]["DueDate"].ToString() + "/" + dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem2.ItemText = SAPUIHelper.SubString50(capItem2.ItemText); capItem2.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem2.TaxCode = TaxCodeConst.NV; capItem2.SpGlInd = SpGlIndConst.D; if (bool.Parse(dstPosting.Tables[0].Rows[0]["RequireBusinessArea"].ToString())) { capItem2.BusArea = dstPosting.Tables[0].Rows[0]["BusinessArea"].ToString(); } capItem2.Active = true; capItem2.CreBy = 1; capItem2.CreDate = DateTime.Now; capItem2.UpdBy = 1; capItem2.UpdDate = DateTime.Now; capItem2.UpdPgm = "AdvancePosting"; accrItem2.DocId = DocID; accrItem2.DocSeq = "M"; accrItem2.DocKind = DocKind; accrItem2.ItemnoAcc = "2"; accrItem2.Currency = PostingConst.Currency; accrItem2.AmtDoccur = decimal.Parse(dstPosting.Tables[0].Rows[0]["Amount"].ToString()); accrItem2.Active = true; accrItem2.CreBy = 1; accrItem2.CreDate = DateTime.Now; accrItem2.UpdBy = 1; accrItem2.UpdDate = DateTime.Now; accrItem2.UpdPgm = "AdvancePosting"; #endregion Debit #endregion Cash } else { #region Transfer หรือ Cheque #region Credit capItem1.DocId = DocID; capItem1.DocSeq = "M"; capItem1.DocKind = DocKind; capItem1.ItemnoAcc = "1"; capItem1.VendorNo = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["ReceiverID"].ToString())).VendorCode; capItem1.PmntBlock = ""; capItem1.Pmnttrms = PostingConst.Pmnttrms; capItem1.BlineDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); capItem1.AllocNmbr = dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString(); capItem1.AllocNmbr = SAPUIHelper.SubString18(capItem1.AllocNmbr); capItem1.PymtMeth = dstPosting.Tables[0].Rows[0]["PaymentMethod"].ToString(); capItem1.ItemText = dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem1.ItemText = SAPUIHelper.SubString50(capItem1.ItemText); capItem1.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem1.TaxCode = TaxCodeConst.NV; if (bool.Parse(dstPosting.Tables[0].Rows[0]["RequireBusinessArea"].ToString())) { capItem1.BusArea = dstPosting.Tables[0].Rows[0]["BusinessArea"].ToString(); } capItem1.Pmtmthsupl = dstPosting.Tables[0].Rows[0]["Supplementary"].ToString(); capItem1.Active = true; capItem1.CreBy = 1; capItem1.CreDate = DateTime.Now; capItem1.UpdBy = 1; capItem1.UpdDate = DateTime.Now; capItem1.UpdPgm = "AdvancePosting"; accrItem1.DocId = DocID; accrItem1.DocSeq = "M"; accrItem1.DocKind = DocKind; accrItem1.ItemnoAcc = "1"; accrItem1.Currency = PostingConst.Currency; accrItem1.AmtDoccur = 0 - decimal.Parse(dstPosting.Tables[0].Rows[0]["Amount"].ToString()); accrItem1.Active = true; accrItem1.CreBy = 1; accrItem1.CreDate = DateTime.Now; accrItem1.UpdBy = 1; accrItem1.UpdDate = DateTime.Now; accrItem1.UpdPgm = "AdvancePosting"; #endregion Credit #region Debit capItem2.DocId = DocID; capItem2.DocSeq = "M"; capItem2.DocKind = DocKind; capItem2.ItemnoAcc = "2"; capItem2.VendorNo = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["RequesterID"].ToString())).VendorCode; capItem2.Pmnttrms = PostingConst.Pmnttrms; capItem2.PymtMeth = dstPosting.Tables[0].Rows[0]["PaymentMethod"].ToString(); capItem2.BlineDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); capItem2.PmntBlock = ""; capItem2.AllocNmbr = dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString(); capItem2.AllocNmbr = SAPUIHelper.SubString18(capItem2.AllocNmbr); capItem2.ItemText = dstPosting.Tables[0].Rows[0]["DueDate"].ToString() + "/" + dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem2.ItemText = SAPUIHelper.SubString50(capItem2.ItemText); capItem2.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem2.TaxCode = TaxCodeConst.NV; capItem2.SpGlInd = SpGlIndConst.D; if (bool.Parse(dstPosting.Tables[0].Rows[0]["RequireBusinessArea"].ToString())) { capItem2.BusArea = dstPosting.Tables[0].Rows[0]["BusinessArea"].ToString(); } capItem2.Pmtmthsupl = dstPosting.Tables[0].Rows[0]["Supplementary"].ToString(); capItem2.Active = true; capItem2.CreBy = 1; capItem2.CreDate = DateTime.Now; capItem2.UpdBy = 1; capItem2.UpdDate = DateTime.Now; capItem2.UpdPgm = "AdvancePosting"; accrItem2.DocId = DocID; accrItem2.DocSeq = "M"; accrItem2.DocKind = DocKind; accrItem2.ItemnoAcc = "2"; accrItem2.Currency = PostingConst.Currency; accrItem2.AmtDoccur = decimal.Parse(dstPosting.Tables[0].Rows[0]["Amount"].ToString()); accrItem2.Active = true; accrItem2.CreBy = 1; accrItem2.CreDate = DateTime.Now; accrItem2.UpdBy = 1; accrItem2.UpdDate = DateTime.Now; accrItem2.UpdPgm = "AdvancePosting"; #endregion Debit #endregion Transfer หรือ Cheque } } else //for rep office { #region Credit capItem1.DocId = DocID; capItem1.DocSeq = "M"; capItem1.DocKind = DocKind; capItem1.ItemnoAcc = "1"; capItem1.VendorNo = dstPosting.Tables[0].Rows[0]["PBCode"].ToString(); capItem1.PmntBlock = PostingConst.PmntBlock; capItem1.Pmnttrms = PostingConst.Pmnttrms; capItem1.BlineDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); capItem1.AllocNmbr = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["ReceiverID"].ToString())).EmployeeName; capItem1.AllocNmbr = SAPUIHelper.SubString18(capItem1.AllocNmbr); capItem1.PymtMeth = dstPosting.Tables[0].Rows[0]["PaymentMethod"].ToString(); capItem1.ItemText = dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem1.ItemText = SAPUIHelper.SubString50(capItem1.ItemText); capItem1.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem1.TaxCode = TaxCodeConst.NV; if (bool.Parse(dstPosting.Tables[0].Rows[0]["RequireBusinessArea"].ToString())) { capItem1.BusArea = dstPosting.Tables[0].Rows[0]["BusinessArea"].ToString(); } capItem1.Active = true; capItem1.CreBy = 1; capItem1.CreDate = DateTime.Now; capItem1.UpdBy = 1; capItem1.UpdDate = DateTime.Now; capItem1.UpdPgm = "AdvancePosting"; accrItem1.DocId = DocID; accrItem1.DocSeq = "M"; accrItem1.DocKind = DocKind; accrItem1.ItemnoAcc = "1"; accrItem1.Currency = mainCurrencySymbol; accrItem1.AmtDoccur = 0 - decimal.Parse(dstPosting.Tables[0].Rows[0]["MainCurrencyAmount"].ToString()); accrItem1.ExchRate = decimal.Parse(dstPosting.Tables[0].Rows[0]["ExchangeRateMainToTHB"].ToString()); accrItem1.Active = true; accrItem1.CreBy = 1; accrItem1.CreDate = DateTime.Now; accrItem1.UpdBy = 1; accrItem1.UpdDate = DateTime.Now; accrItem1.UpdPgm = "AdvancePosting"; #endregion Credit #region Debit capItem2.DocId = DocID; capItem2.DocSeq = "M"; capItem2.DocKind = DocKind; capItem2.ItemnoAcc = "2"; capItem2.VendorNo = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["RequesterID"].ToString())).VendorCode; capItem2.Pmnttrms = PostingConst.Pmnttrms; capItem2.PymtMeth = dstPosting.Tables[0].Rows[0]["PaymentMethod"].ToString(); capItem2.BlineDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); capItem2.PmntBlock = PostingConst.PmntBlock; capItem2.AllocNmbr = dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString(); capItem2.AllocNmbr = SAPUIHelper.SubString18(capItem2.AllocNmbr); capItem2.ItemText = dstPosting.Tables[0].Rows[0]["DueDate"].ToString() + "/" + dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem2.ItemText = SAPUIHelper.SubString50(capItem2.ItemText); capItem2.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem2.TaxCode = TaxCodeConst.NV; capItem2.SpGlInd = SpGlIndConst.D; if (bool.Parse(dstPosting.Tables[0].Rows[0]["RequireBusinessArea"].ToString())) { capItem2.BusArea = dstPosting.Tables[0].Rows[0]["BusinessArea"].ToString(); } capItem2.Active = true; capItem2.CreBy = 1; capItem2.CreDate = DateTime.Now; capItem2.UpdBy = 1; capItem2.UpdDate = DateTime.Now; capItem2.UpdPgm = "AdvancePosting"; accrItem2.DocId = DocID; accrItem2.DocSeq = "M"; accrItem2.DocKind = DocKind; accrItem2.ItemnoAcc = "2"; accrItem2.Currency = mainCurrencySymbol; accrItem2.AmtDoccur = decimal.Parse(dstPosting.Tables[0].Rows[0]["MainCurrencyAmount"].ToString()); accrItem2.ExchRate = decimal.Parse(dstPosting.Tables[0].Rows[0]["ExchangeRateMainToTHB"].ToString()); accrItem2.Active = true; accrItem2.CreBy = 1; accrItem2.CreDate = DateTime.Now; accrItem2.UpdBy = 1; accrItem2.UpdDate = DateTime.Now; accrItem2.UpdPgm = "AdvancePosting"; #endregion Debit } BapiServiceProvider.Bapiacap09Service.Save(capItem1); BapiServiceProvider.Bapiacap09Service.Save(capItem2); BapiServiceProvider.Bapiaccr09Service.Save(accrItem1); BapiServiceProvider.Bapiaccr09Service.Save(accrItem2); #endregion Domestic } else if (dstPosting.Tables[0].Rows[0]["AdvanceType"].ToString() == ZoneTypeConst.Foreign) { #region Foreign if (!repOffice) { #region HEAD Bapiache09 che09 = new Bapiache09(); che09.DocId = DocID; che09.DocSeq = "M"; che09.DocKind = DocKind; che09.BusAct = PostingConst.BusAct; che09.Username = sap.UserCPIC;//PostingConst.UserCPIC; che09.CompCode = dstPosting.Tables[0].Rows[0]["COMP_CODE"].ToString().Substring(0, 4); che09.DocDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.DocKind = DocKind; che09.DocType = sap.DocTypeAdvancePostingFR;//DocTypeConst.KZ; che09.PstngDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.ReverseDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.RefDocNo = SAPUIHelper.SubString(16, dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString()); che09.DocStatus = "N"; che09.DocAppFlag = "A"; che09.Active = true; che09.CreBy = 1; che09.CreDate = DateTime.Now; che09.UpdBy = 1; che09.UpdDate = DateTime.Now; che09.UpdPgm = "AdvancePosting"; BapiServiceProvider.Bapiache09Service.Save(che09); #endregion HEAD #region Foolter Bapiacextc cextc = new Bapiacextc(); cextc.DocId = DocID; cextc.DocSeq = "M"; cextc.DocKind = DocKind; cextc.Field1 = PostingConst.BRNCH; cextc.Field2 = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); cextc.Active = true; cextc.CreBy = 1; cextc.CreDate = DateTime.Now; cextc.UpdBy = 1; cextc.UpdDate = DateTime.Now; cextc.UpdPgm = "AdvancePosting"; BapiServiceProvider.BapiacextcService.Save(cextc); Bapiacextc cextc1 = new Bapiacextc(); cextc1.DocId = DocID; cextc1.DocSeq = "M"; cextc1.DocKind = DocKind; cextc1.Field1 = PostingConst.VAT; cextc1.Field2 = TaxCodeConst.NV; cextc1.Active = true; cextc1.CreBy = 1; cextc1.CreDate = DateTime.Now; cextc1.UpdBy = 1; cextc1.UpdDate = DateTime.Now; cextc1.UpdPgm = "AdvancePosting"; BapiServiceProvider.BapiacextcService.Save(cextc1); #endregion Foolter Bapiacgl09 capItem1 = new Bapiacgl09(); Bapiacap09 capItem2 = new Bapiacap09(); Bapiaccr09 accrItem1 = new Bapiaccr09(); Bapiaccr09 accrItem2 = new Bapiaccr09(); #region Credit capItem1.DocId = DocID; capItem1.DocSeq = "M"; capItem1.DocKind = DocKind; capItem1.ItemnoAcc = "1"; capItem1.GlAccount = dstPosting.Tables[0].Rows[0]["BankAccount"].ToString(); capItem1.ValueDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); capItem1.AllocNmbr = dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString(); capItem1.AllocNmbr = SAPUIHelper.SubString18(capItem1.AllocNmbr); capItem1.ItemText = dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem1.ItemText = SAPUIHelper.SubString50(capItem1.ItemText); //capItem1.BusArea = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); if (bool.Parse(dstPosting.Tables[0].Rows[0]["RequireBusinessArea"].ToString())) { capItem1.BusArea = dstPosting.Tables[0].Rows[0]["BusinessArea"].ToString(); } capItem1.Active = true; capItem1.CreBy = 1; capItem1.CreDate = DateTime.Now; capItem1.UpdBy = 1; capItem1.UpdDate = DateTime.Now; capItem1.UpdPgm = "AdvancePosting"; accrItem1.DocId = DocID; accrItem1.DocSeq = "M"; accrItem1.DocKind = DocKind; accrItem1.ItemnoAcc = "1"; accrItem1.Currency = PostingConst.Currency; accrItem1.AmtDoccur = 0 - decimal.Parse(dstPosting.Tables[0].Rows[0]["Amount"].ToString()); accrItem1.Active = true; accrItem1.CreBy = 1; accrItem1.CreDate = DateTime.Now; accrItem1.UpdBy = 1; accrItem1.UpdDate = DateTime.Now; accrItem1.UpdPgm = "AdvancePosting"; #endregion Credit #region Debit capItem2.DocId = DocID; capItem2.DocSeq = "M"; capItem2.DocKind = DocKind; capItem2.ItemnoAcc = "2"; capItem2.VendorNo = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["RequesterID"].ToString())).VendorCode; capItem2.AllocNmbr = dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString(); capItem2.AllocNmbr = SAPUIHelper.SubString18(capItem2.AllocNmbr); capItem2.ItemText = dstPosting.Tables[0].Rows[0]["DueDate"].ToString() + "/" + dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem2.ItemText = SAPUIHelper.SubString50(capItem2.ItemText); capItem2.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem2.TaxCode = TaxCodeConst.NV; capItem2.SpGlInd = SpGlIndConst.D; if (bool.Parse(dstPosting.Tables[0].Rows[0]["RequireBusinessArea"].ToString())) { capItem2.BusArea = dstPosting.Tables[0].Rows[0]["BusinessArea"].ToString(); } capItem2.Active = true; capItem2.CreBy = 1; capItem2.CreDate = DateTime.Now; capItem2.UpdBy = 1; capItem2.UpdDate = DateTime.Now; capItem2.UpdPgm = "AdvancePosting"; accrItem2.DocId = DocID; accrItem2.DocSeq = "M"; accrItem2.DocKind = DocKind; accrItem2.ItemnoAcc = "2"; accrItem2.Currency = PostingConst.Currency; accrItem2.AmtDoccur = decimal.Parse(dstPosting.Tables[0].Rows[0]["Amount"].ToString()); accrItem2.Active = true; accrItem2.CreBy = 1; accrItem2.CreDate = DateTime.Now; accrItem2.UpdBy = 1; accrItem2.UpdDate = DateTime.Now; accrItem2.UpdPgm = "AdvancePosting"; #endregion Debit BapiServiceProvider.Bapiacgl09Service.Save(capItem1); BapiServiceProvider.Bapiacap09Service.Save(capItem2); BapiServiceProvider.Bapiaccr09Service.Save(accrItem1); BapiServiceProvider.Bapiaccr09Service.Save(accrItem2); } else // post ADF for rep office { #region HEAD Bapiache09 che09 = new Bapiache09(); che09.DocId = DocID; che09.DocSeq = "M"; che09.DocKind = DocKind; che09.BusAct = PostingConst.BusAct; che09.Username = sap.UserCPIC;//PostingConst.UserCPIC; che09.CompCode = dstPosting.Tables[0].Rows[0]["COMP_CODE"].ToString().Substring(0, 4); che09.DocDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.DocKind = DocKind; che09.DocType = sap.DocTypeAdvancePostingFR;//DocTypeConst.KR; che09.PstngDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.ReverseDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.RefDocNo = SAPUIHelper.SubString(16, dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString()); che09.DocStatus = "N"; che09.DocAppFlag = "A"; che09.Active = true; che09.CreBy = 1; che09.CreDate = DateTime.Now; che09.UpdBy = 1; che09.UpdDate = DateTime.Now; che09.UpdPgm = "AdvancePosting"; BapiServiceProvider.Bapiache09Service.Save(che09); #endregion HEAD #region Foolter Bapiacextc cextc = new Bapiacextc(); cextc.DocId = DocID; cextc.DocSeq = "M"; cextc.DocKind = DocKind; cextc.Field1 = PostingConst.BRNCH; cextc.Field2 = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); cextc.Active = true; cextc.CreBy = 1; cextc.CreDate = DateTime.Now; cextc.UpdBy = 1; cextc.UpdDate = DateTime.Now; cextc.UpdPgm = "AdvancePosting"; BapiServiceProvider.BapiacextcService.Save(cextc); Bapiacextc cextc1 = new Bapiacextc(); cextc1.DocId = DocID; cextc1.DocSeq = "M"; cextc1.DocKind = DocKind; cextc1.Field1 = PostingConst.VAT; cextc1.Field2 = TaxCodeConst.NV; cextc1.Active = true; cextc1.CreBy = 1; cextc1.CreDate = DateTime.Now; cextc1.UpdBy = 1; cextc1.UpdDate = DateTime.Now; cextc1.UpdPgm = "AdvancePosting"; BapiServiceProvider.BapiacextcService.Save(cextc1); #endregion Foolter Bapiacap09 capItem1 = new Bapiacap09(); Bapiacap09 capItem2 = new Bapiacap09(); Bapiaccr09 accrItem1 = new Bapiaccr09(); Bapiaccr09 accrItem2 = new Bapiaccr09(); #region Credit capItem1.DocId = DocID; capItem1.DocSeq = "M"; capItem1.DocKind = DocKind; capItem1.ItemnoAcc = "1"; capItem1.VendorNo = dstPosting.Tables[0].Rows[0]["PBCode"].ToString(); capItem1.PmntBlock = PostingConst.PmntBlock; capItem1.Pmnttrms = PostingConst.Pmnttrms; capItem1.BlineDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); capItem1.AllocNmbr = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["ReceiverID"].ToString())).EmployeeName; capItem1.AllocNmbr = SAPUIHelper.SubString18(capItem1.AllocNmbr); capItem1.ItemText = dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem1.ItemText = SAPUIHelper.SubString50(capItem1.ItemText); capItem1.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem1.TaxCode = TaxCodeConst.NV; if (bool.Parse(dstPosting.Tables[0].Rows[0]["RequireBusinessArea"].ToString())) { capItem1.BusArea = dstPosting.Tables[0].Rows[0]["BusinessArea"].ToString(); } capItem1.Active = true; capItem1.CreBy = 1; capItem1.CreDate = DateTime.Now; capItem1.UpdBy = 1; capItem1.UpdDate = DateTime.Now; capItem1.UpdPgm = "AdvancePosting"; accrItem1.DocId = DocID; accrItem1.DocSeq = "M"; accrItem1.DocKind = DocKind; accrItem1.ItemnoAcc = "1"; accrItem1.Currency = mainCurrencySymbol; accrItem1.AmtDoccur = 0 - decimal.Parse(dstPosting.Tables[0].Rows[0]["MainCurrencyAmount"].ToString()); accrItem1.ExchRate = decimal.Parse(dstPosting.Tables[0].Rows[0]["ExchangeRateMainToTHB"].ToString()); accrItem1.Active = true; accrItem1.CreBy = 1; accrItem1.CreDate = DateTime.Now; accrItem1.UpdBy = 1; accrItem1.UpdDate = DateTime.Now; accrItem1.UpdPgm = "AdvancePosting"; #endregion Credit #region Debit capItem2.DocId = DocID; capItem2.DocSeq = "M"; capItem2.DocKind = DocKind; capItem2.ItemnoAcc = "2"; capItem2.VendorNo = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["RequesterID"].ToString())).VendorCode; capItem2.Pmnttrms = PostingConst.Pmnttrms; capItem2.BlineDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); capItem2.PmntBlock = PostingConst.PmntBlock; capItem2.AllocNmbr = dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString(); capItem2.AllocNmbr = SAPUIHelper.SubString18(capItem2.AllocNmbr); capItem2.ItemText = dstPosting.Tables[0].Rows[0]["DueDate"].ToString() + "/" + dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem2.ItemText = SAPUIHelper.SubString50(capItem2.ItemText); capItem2.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem2.TaxCode = TaxCodeConst.NV; capItem2.SpGlInd = SpGlIndConst.D; if (bool.Parse(dstPosting.Tables[0].Rows[0]["RequireBusinessArea"].ToString())) { capItem2.BusArea = dstPosting.Tables[0].Rows[0]["BusinessArea"].ToString(); } capItem2.Active = true; capItem2.CreBy = 1; capItem2.CreDate = DateTime.Now; capItem2.UpdBy = 1; capItem2.UpdDate = DateTime.Now; capItem2.UpdPgm = "AdvancePosting"; accrItem2.DocId = DocID; accrItem2.DocSeq = "M"; accrItem2.DocKind = DocKind; accrItem2.ItemnoAcc = "2"; accrItem2.Currency = mainCurrencySymbol; accrItem2.AmtDoccur = decimal.Parse(dstPosting.Tables[0].Rows[0]["MainCurrencyAmount"].ToString()); accrItem2.ExchRate = decimal.Parse(dstPosting.Tables[0].Rows[0]["ExchangeRateMainToTHB"].ToString()); accrItem2.Active = true; accrItem2.CreBy = 1; accrItem2.CreDate = DateTime.Now; accrItem2.UpdBy = 1; accrItem2.UpdDate = DateTime.Now; accrItem2.UpdPgm = "AdvancePosting"; #endregion Debit BapiServiceProvider.Bapiacap09Service.Save(capItem1); BapiServiceProvider.Bapiacap09Service.Save(capItem2); BapiServiceProvider.Bapiaccr09Service.Save(accrItem1); BapiServiceProvider.Bapiaccr09Service.Save(accrItem2); } #endregion Foreign } } }
public void MultipleApproveVerify() { IList <long> workflowList = GetWorkflowIDForMultipleApprove(); ApproveVerifyStatus approveVerifyStatus = null; List <ApproveVerifyStatus> approveVerifyStatusList = new List <ApproveVerifyStatus>(); foreach (long workflowId in workflowList) { try { SS.Standard.WorkFlow.DTO.WorkFlow workFlow = WorkFlowQueryProvider.WorkFlowQuery.FindByIdentity(workflowId); SCGDocument document = ScgeAccountingQueryProvider.SCGDocumentQuery.GetSCGDocumentByDocumentID(workFlow.Document.DocumentID); approveVerifyStatus = new ApproveVerifyStatus(); approveVerifyStatus.DocumentNo = document.DocumentNo; approveVerifyStatus.Subject = document.Subject; int workFlowStateEventID = ScgeAccountingQueryProvider.SCGDocumentQuery.GetWorkStateEvent(workFlow.CurrentState.WorkFlowStateID, WorkFlowEventNameConst.Approve); if (workFlow.WorkFlowType.WorkFlowTypeID == WorkFlowTypeID.AdvanceWorkFlowType) { AvAdvanceDocument advDocument = ScgeAccountingQueryProvider.AvAdvanceDocumentQuery.GetAvAdvanceByDocumentID(workFlow.Document.DocumentID); approveVerifyStatus.Amount = advDocument.Amount; IList <WorkFlowStateEvent> workFlowState = WorkFlowQueryProvider.WorkFlowStateEventQuery.FindWorkFlowStateEvent(WorkFlowEventNameConst.Approve, WorkFlowStatEventNameConst.WaitApproveVerify, WorkFlowTypeName.Advance); object eventData = new SubmitResponse(workFlowState[0].WorkFlowStateEventID); WorkFlowService.NotifyEvent(workflowId, WorkFlowEventNameConst.Approve, eventData); } else if (workFlow.WorkFlowType.WorkFlowTypeID == WorkFlowTypeID.ExpenseWorkFlow) { FnExpenseDocument expDocument = ScgeAccountingQueryProvider.FnExpenseDocumentQuery.GetExpenseDocumentByDocumentID(workFlow.Document.DocumentID); approveVerifyStatus.Amount = expDocument.DifferenceAmount; IList <WorkFlowStateEvent> workFlowState = WorkFlowQueryProvider.WorkFlowStateEventQuery.FindWorkFlowStateEvent(WorkFlowEventNameConst.Approve, WorkFlowStatEventNameConst.WaitApproveVerify, WorkFlowTypeName.Expense); object eventData = new SubmitResponse(workFlowState[0].WorkFlowStateEventID); WorkFlowService.NotifyEvent(workflowId, WorkFlowEventNameConst.Approve, eventData); } else if (workFlow.WorkFlowType.WorkFlowTypeID == WorkFlowTypeID.RemittanceWorkFlow) { FnRemittance rmtDocument = ScgeAccountingQueryProvider.FnRemittanceQuery.GetFnRemittanceByDocumentID(workFlow.Document.DocumentID); approveVerifyStatus.Amount = rmtDocument.TotalAmount; IList <WorkFlowStateEvent> workFlowState = WorkFlowQueryProvider.WorkFlowStateEventQuery.FindWorkFlowStateEvent(WorkFlowEventNameConst.Approve, WorkFlowStatEventNameConst.WaitApproveRemittance, WorkFlowTypeName.Remittance); object eventData = new SubmitResponse(workFlowState[0].WorkFlowStateEventID); WorkFlowService.NotifyEvent(workflowId, WorkFlowEventNameConst.Approve, eventData); } approveVerifyStatus.Status = "Success"; } catch (ServiceValidationException ex) { approveVerifyStatus.Status = "Error"; approveVerifyStatus.Reason = new List <string>(); foreach (Spring.Validation.ErrorMessage errorMsg in ex.ValidationErrors.GetErrors("WorkFlow.Error")) { approveVerifyStatus.Reason.Add(errorMsg.Id); } //ctlApproveStatusSummary.ValidationErrors.MergeErrors(ex.ValidationErrors); } approveVerifyStatusList.Add(approveVerifyStatus); } if (approveVerifyStatusList.Count > 0) { ctlApproveStatusSummary.DataList = approveVerifyStatusList.OrderBy(x => x.Status).ThenBy(x => x.DocumentNo).ToList(); ctlApproveStatusSummary.BindGridView(); ctlApproveResultSummaryModalPopupExtender.Show(); } }
public string OnCancelComplete(long workFlowID, object eventData) { WorkFlow workFlow = WorkFlowQueryProvider.WorkFlowQuery.FindByIdentity(workFlowID); SCGDocument scgDocument = ScgeAccountingQueryProvider.SCGDocumentQuery.GetSCGDocumentByDocumentID(workFlow.Document.DocumentID); /*TODO validate , save event data to workflow*/ WorkFlowResponse response = new WorkFlowResponse(); try { SubmitResponse submitResponse = eventData as SubmitResponse; response.WorkFlow = workFlow; response.WorkFlowStateEvent = WorkFlowQueryProvider.WorkFlowStateEventQuery.FindByIdentity(submitResponse.WorkFlowStateEventID); response.ResponseBy = UserAccount.UserID; response.ResponseDate = DateTime.Now; response.Active = true; response.CreBy = UserAccount.UserID; response.CreDate = DateTime.Now; response.UpdBy = UserAccount.UserID; response.UpdDate = DateTime.Now; response.UpdPgm = "WorkFlow"; WorkFlowDaoProvider.WorkFlowResponseDao.Save(response); if (string.IsNullOrEmpty(scgDocument.DocumentNo)) { //TODO : Generate Document No and Save it int year = DateTime.Now.Year; scgDocument.DocumentNo = DbDocumentRunningService.RetrieveNextDocumentRunningNo(year, scgDocument.DocumentType.DocumentTypeID, scgDocument.CompanyID.CompanyID); scgDocument.DocumentDate = DateTime.Now; ScgeAccountingDaoProvider.SCGDocumentDao.Update(scgDocument); } } catch (Exception) { throw; } /* TODO generate signal string * Case 1 : MPA Document has initiator => SendDraftToWaitInitator * Case 2 : MPA Document has no initiator => SendDraftToWaitApprove */ string signal = ""; MPADocument mpaDocument = ScgeAccountingQueryProvider.MPADocumentQuery.GetMPADocumentByDocumentID(workFlow.Document.DocumentID); //IList<DocumentInitiator> initiators = ScgeAccountingQueryProvider.DocumentInitiatorQuery.GetNotResponseInitiatorByDocumentID(workFlow.Document.DocumentID); signal = "WithdrawCompleteToCancel"; if (ParameterServices.EnableEmail02Creator || ParameterServices.EnableEmail02Requester || ParameterServices.EnableEmail02Initiator) { long sendToUserID = 0; IList <long> ccList = new List <long>(); if (ParameterServices.EnableEmail02Creator) { sendToUserID = scgDocument.CreatorID.Userid; } if (ParameterServices.EnableEmail02Requester) { if (sendToUserID == 0) { sendToUserID = scgDocument.RequesterID.Userid; } else if (scgDocument.CreatorID.Userid != scgDocument.RequesterID.Userid) { ccList.Add(scgDocument.RequesterID.Userid); } //Send mail02 to all travellers that doesnot requester IList <MPAItem> items = ScgeAccountingQueryProvider.MPAItemQuery.FindMPAItemByMPADocumentID(mpaDocument.MPADocumentID); foreach (MPAItem item in items) { if (sendToUserID == 0) { sendToUserID = item.UserID.Userid; } else if (item.UserID.Userid != sendToUserID && !ccList.Contains(item.UserID.Userid)) { ccList.Add(item.UserID.Userid); } } } if (ParameterServices.EnableEmail02Initiator) { IList <DocumentInitiator> initiators = ScgeAccountingQueryProvider.DocumentInitiatorQuery.GetDocumentInitiatorByDocumentID(workFlow.Document.DocumentID); foreach (DocumentInitiator initiator in initiators) { if (sendToUserID == 0) { sendToUserID = initiator.UserID.Userid; } else if (initiator.UserID.Userid != sendToUserID && !ccList.Contains(initiator.UserID.Userid)) { ccList.Add(initiator.UserID.Userid); } } } SCGEmailService.SendEmailEM02(response.WorkFlowResponseID, sendToUserID, ccList); } return(signal); }
public void SendSMS02(long workFlowID, string RequestID, IList <long> ReciverList, bool isAutoPayment) { double netAmount = 0; try { if (ParameterServices.EnableSMS) { Document document = WorkFlowQueryProvider.WorkFlowQuery.GetDocumentByWorkFlowID(workFlowID); SCGDocument scgDocument = ScgeAccountingQueryProvider.SCGDocumentQuery.FindByIdentity(document.DocumentID); if (!isAutoPayment) // Cash { #region Cash if (scgDocument.DocumentType.DocumentTypeID.Equals(DocumentTypeID.ExpenseDomesticDocument) || (scgDocument.DocumentType.DocumentTypeID.Equals(DocumentTypeID.ExpenseForeignDocument))) { FnExpenseDocument expense = ScgeAccountingQueryProvider.FnExpenseDocumentQuery.GetExpenseDocumentByDocumentID(scgDocument.DocumentID); if (expense != null) { netAmount = expense.DifferenceAmount; } } else if (scgDocument.DocumentType.DocumentTypeID.Equals(DocumentTypeID.AdvanceDomesticDocument) || (scgDocument.DocumentType.DocumentTypeID.Equals(DocumentTypeID.AdvanceForeignDocument))) { AvAdvanceDocument advance = ScgeAccountingQueryProvider.AvAdvanceDocumentQuery.GetAvAdvanceByDocumentID(scgDocument.DocumentID); if (advance != null) { netAmount = advance.Amount; } } #endregion Cash foreach (long userID in ReciverList) { SuUser sendToUser = QueryProvider.SuUserQuery.FindByIdentity(userID); if (sendToUser.SMSReadyToReceive) { string ToPhoneNo = sendToUser.MobilePhoneNo.ToString(); SMSDTO smsDto = new SMSDTO(); string Mobile = "66" + ToPhoneNo.ToString().Remove(0, 1); smsDto.Requestor = RequestID; smsDto.DocumentNo = scgDocument.DocumentNo; smsDto.Amount = netAmount.ToString(); smsDto.To = Mobile; smsDto.UseProxy = true; smsDto.Content = BuildContentBody(smsDto, SMSContenFormat.SMS02, SMSBusinessCase.Cash); this.sendSMSStatus = SMSService.Send(smsDto); } } } else // Cheque { #region Cheque FnAutoPayment autoPayment = ScgeAccountingQueryProvider.FnAutoPaymentQuery.GetFnAutoPaymentByDocumentID(document.DocumentID); netAmount = autoPayment.Amount; #endregion Cheque foreach (long userID in ReciverList) { SuUser sendToUser = QueryProvider.SuUserQuery.FindByIdentity(userID); if (sendToUser.SMSReadyToReceive) { string ToPhoneNo = sendToUser.MobilePhoneNo.ToString(); SMSDTO smsDto = new SMSDTO(); string Mobile = "66" + ToPhoneNo.ToString().Remove(0, 1); smsDto.Requestor = RequestID; smsDto.DocumentNo = scgDocument.DocumentNo; smsDto.PaymentDate = autoPayment.PaymentDate.Value; smsDto.Amount = netAmount.ToString(); smsDto.To = Mobile; smsDto.UseProxy = true; smsDto.Content = BuildContentBody(smsDto, SMSContenFormat.SMS02, SMSBusinessCase.Cheque); this.sendSMSStatus = SMSService.Send(smsDto); } } } } } catch (Exception ex) { Utilities.WriteLogs("SendSMS02 : ==> " + ex.Message, "smslog", "Logs", "txt"); } }
public void UpdateHeaderAndFooterToTransaction(Guid txid, SCGDocument document, FnRemittance remittance) { SCGDocumentService.UpdateTransactionDocument(txid, document, false, false); this.UpdateRemittanceDocumentTransaction(txid, remittance, true); }
public override void CreatePostData(long DocID, string DocKind) { Hashtable paramete = new Hashtable(); paramete.Add("@DOCUMENT_ID", DocID.ToString()); DataSet dstPosting = new DBManage().ExecuteQuery("FIXEDADVANCE_POSTING", paramete); SCGDocument doc = SCG.eAccounting.Query.ScgeAccountingQueryProvider.SCGDocumentQuery.FindProxyByIdentity(DocID); DbSapInstance sap = SCG.DB.Query.ScgDbQueryProvider.DbCompanyQuery.GetSAPDocTypeForPosting(doc.CompanyID.CompanyCode); if (dstPosting.Tables[1].Rows.Count > 0) { #region HEAD Bapiache09 che09 = new Bapiache09(); che09.DocId = DocID; che09.DocSeq = "M"; che09.DocKind = DocKind; che09.BusAct = PostingConst.BusAct; che09.Username = sap.UserCPIC; che09.CompCode = dstPosting.Tables[1].Rows[0]["COMP_CODE"].ToString().Substring(0, 4); che09.DocDate = dstPosting.Tables[1].Rows[0]["PostingDate"].ToString(); che09.DocKind = DocKind; /*N-edited */ //che09.DocType = sap.DocTypeFixedAdvancePosting; che09.DocType = sap.DocTypeFixedAdvanceReturnPosting; che09.PstngDate = dstPosting.Tables[1].Rows[0]["PostingDate"].ToString(); che09.ReverseDate = dstPosting.Tables[1].Rows[0]["PostingDate"].ToString(); che09.RefDocNo = SAPUIHelper.SubString(16, dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString()); che09.DocStatus = "N"; if (dstPosting.Tables[1].Rows[0]["PaymentType"].ToString() == PaymentTypeConst.DomesticCash) { che09.DocAppFlag = "A"; } else { che09.DocAppFlag = "V"; } che09.Active = true; che09.CreBy = 1; che09.CreDate = DateTime.Now; che09.UpdBy = 1; che09.UpdDate = DateTime.Now; che09.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiache09Service.Save(che09); #endregion HEAD #region Foolter Bapiacextc cextc = new Bapiacextc(); cextc.DocId = DocID; cextc.DocSeq = "M"; cextc.DocKind = DocKind; cextc.Field1 = PostingConst.BRNCH; cextc.Field2 = dstPosting.Tables[1].Rows[0]["BranchCode"].ToString(); cextc.Active = true; cextc.CreBy = 1; cextc.CreDate = DateTime.Now; cextc.UpdBy = 1; cextc.UpdDate = DateTime.Now; cextc.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.BapiacextcService.Save(cextc); Bapiacextc cextc1 = new Bapiacextc(); cextc1.DocId = DocID; cextc1.DocSeq = "M"; cextc1.DocKind = DocKind; cextc1.Field1 = PostingConst.VAT; cextc1.Field2 = TaxCodeConst.NV; cextc1.Active = true; cextc1.CreBy = 1; cextc1.CreDate = DateTime.Now; cextc1.UpdBy = 1; cextc1.UpdDate = DateTime.Now; cextc1.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.BapiacextcService.Save(cextc1); #endregion Foolter #region Domestic #region Credit Bapiacap09 capItem1 = new Bapiacap09(); capItem1.DocId = DocID; capItem1.DocSeq = "M"; capItem1.DocKind = DocKind; capItem1.ItemnoAcc = "1"; //capItem1.GlAccount = SAPUIHelper.GetFixedPostingAccountReturnCr(long.Parse(dstPosting.Tables[1].Rows[0]["RequesterID"].ToString())); capItem1.VendorNo = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["RequesterID"].ToString())).VendorCode; capItem1.AllocNmbr = dstPosting.Tables[1].Rows[0]["FixedAdvanceNo"].ToString(); capItem1.AllocNmbr = SAPUIHelper.SubString18(capItem1.AllocNmbr); capItem1.ItemText = dstPosting.Tables[1].Rows[0]["Description"].ToString(); capItem1.ItemText = SAPUIHelper.SubString50(capItem1.ItemText); capItem1.Businessplace = dstPosting.Tables[1].Rows[0]["BranchCode"].ToString(); capItem1.TaxCode = TaxCodeConst.NV; capItem1.SpGlInd = SpGlIndConst.H; capItem1.Active = true; capItem1.CreBy = 1; capItem1.CreDate = DateTime.Now; capItem1.UpdBy = 1; capItem1.UpdDate = DateTime.Now; capItem1.UpdPgm = "FixedAdvanceReturnPosting"; BapiServiceProvider.Bapiacap09Service.Save(capItem1); Bapiaccr09 accrItem1 = new Bapiaccr09(); accrItem1.DocId = DocID; accrItem1.DocSeq = "M"; accrItem1.DocKind = DocKind; accrItem1.ItemnoAcc = "1"; accrItem1.Currency = PostingConst.Currency; accrItem1.AmtDoccur = 0 - decimal.Parse(dstPosting.Tables[1].Rows[0]["Amount"].ToString()); accrItem1.Active = true; accrItem1.CreBy = 1; accrItem1.CreDate = DateTime.Now; accrItem1.UpdBy = 1; accrItem1.UpdDate = DateTime.Now; accrItem1.UpdPgm = "FixedAdvanceReturnPosting"; BapiServiceProvider.Bapiaccr09Service.Save(accrItem1); #endregion Credit #region Debit Bapiacgl09 cglItem2 = new Bapiacgl09(); cglItem2.DocId = DocID; cglItem2.DocSeq = "M"; cglItem2.DocKind = DocKind; cglItem2.ItemnoAcc = "2"; cglItem2.GlAccount = dstPosting.Tables[1].Rows[0]["BankAccount"].ToString(); cglItem2.AllocNmbr = dstPosting.Tables[1].Rows[0]["FixedAdvanceNo"].ToString(); cglItem2.AllocNmbr = SAPUIHelper.SubString18(cglItem2.AllocNmbr); cglItem2.ItemText = dstPosting.Tables[1].Rows[0]["Description"].ToString(); cglItem2.ItemText = SAPUIHelper.SubString50(cglItem2.ItemText); cglItem2.Active = true; cglItem2.CreBy = 1; cglItem2.CreDate = DateTime.Now; cglItem2.UpdBy = 1; cglItem2.UpdDate = DateTime.Now; cglItem2.UpdPgm = "FixedAdvanceReturnPosting"; /*N-edited valuedate = requestdate*/ cglItem2.ValueDate = dstPosting.Tables[1].Rows[0]["ReturnRequestDate"].ToString(); /*DateFormat = YYYYMMDD*/ BapiServiceProvider.Bapiacgl09Service.Save(cglItem2); Bapiaccr09 accrItem2 = new Bapiaccr09(); accrItem2.DocId = DocID; accrItem2.DocSeq = "M"; accrItem2.DocKind = DocKind; accrItem2.ItemnoAcc = "2"; accrItem2.Currency = PostingConst.Currency; accrItem2.AmtDoccur = (decimal.Parse(dstPosting.Tables[1].Rows[0]["Amount"].ToString())); accrItem2.Active = true; accrItem2.CreBy = 1; accrItem2.CreDate = DateTime.Now; accrItem2.UpdBy = 1; accrItem2.UpdDate = DateTime.Now; accrItem2.UpdPgm = "FixedAdvanceReturnPosting"; BapiServiceProvider.Bapiaccr09Service.Save(accrItem2); #endregion Debit #endregion Domestic } }
public override void CreatePostData(long DocID, string DocKind) { Hashtable paramete = new Hashtable(); paramete.Add("@DOCUMENT_ID", DocID.ToString()); DataSet dstPosting = new DBManage().ExecuteQuery("REMITANCE_POSTING", paramete); bool repOffice = false; string mainCurrencySymbol = string.Empty; SCGDocument doc = SCG.eAccounting.Query.ScgeAccountingQueryProvider.SCGDocumentQuery.FindProxyByIdentity(DocID); DbSapInstance sap = SCG.DB.Query.ScgDbQueryProvider.DbCompanyQuery.GetSAPDocTypeForPosting(doc.CompanyID.CompanyCode); if (dstPosting.Tables[0].Rows.Count >= 1) { if (!string.IsNullOrEmpty(dstPosting.Tables[0].Rows[0]["IsRepOffice"].ToString())) { repOffice = bool.Parse(dstPosting.Tables[0].Rows[0]["IsRepOffice"].ToString()); } // get main currency symbol if (repOffice) { DbCurrency mainCurrency = SS.DB.Query.SsDbQueryProvider.DbCurrencyQuery.FindByIdentity(short.Parse(dstPosting.Tables[0].Rows[0]["MainCurrencyID"].ToString())); if (mainCurrency != null) { mainCurrencySymbol = mainCurrency.Symbol; } } #region HEAD Bapiache09 che09 = new Bapiache09(); che09.DocId = DocID; che09.DocSeq = "M"; che09.DocKind = DocKind; che09.DocStatus = "N"; che09.BusAct = PostingConst.BusAct; che09.Username = sap.UserCPIC;//PostingConst.UserCPIC; che09.CompCode = dstPosting.Tables[0].Rows[0]["CompanyCode"].ToString(); che09.DocDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.DocType = sap.DocTypeRmtPosting;//DocTypeConst.SV; che09.PstngDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.ReverseDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.RefDocNo = SAPUIHelper.SubString(16, dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString()); che09.Active = true; che09.CreBy = 1; che09.CreDate = DateTime.Now; che09.UpdBy = 1; che09.UpdDate = DateTime.Now; che09.UpdPgm = "RemetancePosting"; BapiServiceProvider.Bapiache09Service.Save(che09); #endregion HEAD #region Foolter Bapiacextc cextc = new Bapiacextc(); cextc.DocId = DocID; cextc.DocSeq = "M"; cextc.DocKind = DocKind; cextc.Field1 = PostingConst.BRNCH; cextc.Field2 = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); cextc.Active = true; cextc.CreBy = 1; cextc.CreDate = DateTime.Now; cextc.UpdBy = 1; cextc.UpdDate = DateTime.Now; cextc.UpdPgm = "RemetancePosting"; BapiServiceProvider.BapiacextcService.Save(cextc); Bapiacextc cextc1 = new Bapiacextc(); cextc1.DocId = DocID; cextc1.DocSeq = "M"; cextc1.DocKind = DocKind; cextc1.Field1 = PostingConst.VAT; cextc1.Field2 = TaxCodeConst.NV; cextc1.Active = true; cextc1.CreBy = 1; cextc1.CreDate = DateTime.Now; cextc1.UpdBy = 1; cextc1.UpdDate = DateTime.Now; cextc1.UpdPgm = "RemetancePosting"; BapiServiceProvider.BapiacextcService.Save(cextc1); #endregion Foolter #region คู่บัญชี int intSeq = 0; for (int i = 0; i < dstPosting.Tables[0].Rows.Count; i++) { if (!repOffice) { #region Credit intSeq++; Bapiacap09 capItem1 = new Bapiacap09(); capItem1.DocId = DocID; capItem1.DocSeq = "M"; capItem1.DocKind = DocKind; capItem1.ItemnoAcc = intSeq.ToString(); capItem1.VendorNo = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[i]["RequesterID"].ToString())).VendorCode; capItem1.AllocNmbr = dstPosting.Tables[0].Rows[i]["AdvanceNo"].ToString(); capItem1.AllocNmbr = SAPUIHelper.SubString18(capItem1.AllocNmbr); capItem1.ItemText = dstPosting.Tables[0].Rows[i]["Description"].ToString(); capItem1.ItemText = SAPUIHelper.SubString50(capItem1.ItemText); capItem1.Businessplace = dstPosting.Tables[0].Rows[i]["BranchCode"].ToString(); capItem1.TaxCode = TaxCodeConst.NV; capItem1.SpGlInd = SpGlIndConst.D; if (bool.Parse(dstPosting.Tables[0].Rows[0]["RequireBusinessArea"].ToString())) { capItem1.BusArea = dstPosting.Tables[0].Rows[i]["BusinessArea"].ToString(); } capItem1.Active = true; capItem1.CreBy = 1; capItem1.CreDate = DateTime.Now; capItem1.UpdBy = 1; capItem1.UpdDate = DateTime.Now; capItem1.UpdPgm = "RemetancePosting"; BapiServiceProvider.Bapiacap09Service.Save(capItem1); Bapiaccr09 accrItem1 = new Bapiaccr09(); accrItem1.DocId = DocID; accrItem1.DocSeq = "M"; accrItem1.DocKind = DocKind; accrItem1.ItemnoAcc = intSeq.ToString(); accrItem1.Currency = PostingConst.Currency; accrItem1.AmtDoccur = 0 - decimal.Parse(dstPosting.Tables[0].Rows[i]["RemittanceAmount"].ToString()); accrItem1.Active = true; accrItem1.CreBy = 1; accrItem1.CreDate = DateTime.Now; accrItem1.UpdBy = 1; accrItem1.UpdDate = DateTime.Now; accrItem1.UpdPgm = "RemetancePosting"; BapiServiceProvider.Bapiaccr09Service.Save(accrItem1); #endregion Credit #region Debit intSeq++; Bapiacgl09 cglItem2 = new Bapiacgl09(); cglItem2.DocId = DocID; cglItem2.DocSeq = "M"; cglItem2.DocKind = DocKind; cglItem2.ItemnoAcc = intSeq.ToString(); cglItem2.GlAccount = PostingConst.GLAccount; cglItem2.AllocNmbr = dstPosting.Tables[0].Rows[i]["AdvanceNo"].ToString(); cglItem2.AllocNmbr = SAPUIHelper.SubString18(cglItem2.AllocNmbr); cglItem2.ItemText = dstPosting.Tables[0].Rows[i]["Description"].ToString(); cglItem2.ItemText = SAPUIHelper.SubString50(cglItem2.ItemText); if (bool.Parse(dstPosting.Tables[0].Rows[0]["RequireBusinessArea"].ToString())) { cglItem2.BusArea = dstPosting.Tables[0].Rows[i]["BusinessArea"].ToString(); } cglItem2.Active = true; cglItem2.CreBy = 1; cglItem2.CreDate = DateTime.Now; cglItem2.UpdBy = 1; cglItem2.UpdDate = DateTime.Now; cglItem2.UpdPgm = "RemetancePosting"; BapiServiceProvider.Bapiacgl09Service.Save(cglItem2); Bapiaccr09 accrItem2 = new Bapiaccr09(); accrItem2.DocId = DocID; accrItem2.DocSeq = "M"; accrItem2.DocKind = DocKind; accrItem2.ItemnoAcc = intSeq.ToString(); accrItem2.Currency = PostingConst.Currency; accrItem2.AmtDoccur = decimal.Parse(dstPosting.Tables[0].Rows[i]["RemittanceAmount"].ToString()); accrItem2.Active = true; accrItem2.CreBy = 1; accrItem2.CreDate = DateTime.Now; accrItem2.UpdBy = 1; accrItem2.UpdDate = DateTime.Now; accrItem2.UpdPgm = "RemetancePosting"; BapiServiceProvider.Bapiaccr09Service.Save(accrItem2); #endregion Debit } else //post RMT for rep office { #region Credit intSeq++; Bapiacap09 capItem1 = new Bapiacap09(); capItem1.DocId = DocID; capItem1.DocSeq = "M"; capItem1.DocKind = DocKind; capItem1.ItemnoAcc = intSeq.ToString(); capItem1.VendorNo = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[i]["RequesterID"].ToString())).VendorCode; capItem1.Pmnttrms = PostingConst.Pmnttrms; capItem1.BlineDate = dstPosting.Tables[0].Rows[i]["BaseLineDate"].ToString(); capItem1.PmntBlock = PostingConst.PmntBlock; capItem1.AllocNmbr = dstPosting.Tables[0].Rows[i]["AdvanceNo"].ToString(); capItem1.AllocNmbr = SAPUIHelper.SubString18(capItem1.AllocNmbr); capItem1.ItemText = dstPosting.Tables[0].Rows[i]["Description"].ToString(); capItem1.ItemText = SAPUIHelper.SubString50(capItem1.ItemText); capItem1.Businessplace = dstPosting.Tables[0].Rows[i]["BranchCode"].ToString(); capItem1.TaxCode = TaxCodeConst.NV; capItem1.SpGlInd = SpGlIndConst.D; if (bool.Parse(dstPosting.Tables[0].Rows[0]["RequireBusinessArea"].ToString())) { capItem1.BusArea = dstPosting.Tables[0].Rows[i]["BusinessArea"].ToString(); } capItem1.Active = true; capItem1.CreBy = 1; capItem1.CreDate = DateTime.Now; capItem1.UpdBy = 1; capItem1.UpdDate = DateTime.Now; capItem1.UpdPgm = "RemittancePosting"; BapiServiceProvider.Bapiacap09Service.Save(capItem1); Bapiaccr09 accrItem1 = new Bapiaccr09(); accrItem1.DocId = DocID; accrItem1.DocSeq = "M"; accrItem1.DocKind = DocKind; accrItem1.ItemnoAcc = intSeq.ToString(); accrItem1.Currency = mainCurrencySymbol; accrItem1.AmtDoccur = 0 - decimal.Parse(dstPosting.Tables[0].Rows[i]["RemittanceAmountMainCurrency"].ToString()); accrItem1.ExchRate = decimal.Parse(dstPosting.Tables[0].Rows[i]["ExchangeRateMainToTHB"].ToString()); accrItem1.Active = true; accrItem1.CreBy = 1; accrItem1.CreDate = DateTime.Now; accrItem1.UpdBy = 1; accrItem1.UpdDate = DateTime.Now; accrItem1.UpdPgm = "RemittancePosting"; BapiServiceProvider.Bapiaccr09Service.Save(accrItem1); #endregion Credit #region Debit intSeq++; Bapiacap09 capItem2 = new Bapiacap09(); capItem2.DocId = DocID; capItem2.DocSeq = "M"; capItem2.DocKind = DocKind; capItem2.ItemnoAcc = intSeq.ToString(); capItem2.VendorNo = dstPosting.Tables[0].Rows[i]["PBCode"].ToString(); capItem2.PmntBlock = PostingConst.PmntBlock; capItem2.Pmnttrms = PostingConst.Pmnttrms; capItem2.BlineDate = dstPosting.Tables[0].Rows[i]["BaseLineDate"].ToString(); capItem2.AllocNmbr = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[i]["RequesterID"].ToString())).EmployeeName; capItem2.AllocNmbr = SAPUIHelper.SubString18(capItem1.AllocNmbr); capItem2.ItemText = dstPosting.Tables[0].Rows[i]["Description"].ToString(); capItem2.ItemText = SAPUIHelper.SubString50(capItem1.ItemText); capItem2.Businessplace = dstPosting.Tables[0].Rows[i]["BranchCode"].ToString(); capItem2.TaxCode = TaxCodeConst.NV; if (bool.Parse(dstPosting.Tables[0].Rows[0]["RequireBusinessArea"].ToString())) { capItem2.BusArea = dstPosting.Tables[0].Rows[i]["BusinessArea"].ToString(); } capItem2.Active = true; capItem2.CreBy = 1; capItem2.CreDate = DateTime.Now; capItem2.UpdBy = 1; capItem2.UpdDate = DateTime.Now; capItem2.UpdPgm = "RemittancePosting"; BapiServiceProvider.Bapiacap09Service.Save(capItem2); Bapiaccr09 accrItem2 = new Bapiaccr09(); accrItem2.DocId = DocID; accrItem2.DocSeq = "M"; accrItem2.DocKind = DocKind; accrItem2.ItemnoAcc = intSeq.ToString(); accrItem2.Currency = mainCurrencySymbol; accrItem2.AmtDoccur = decimal.Parse(dstPosting.Tables[0].Rows[i]["RemittanceAmountMainCurrency"].ToString()); accrItem2.ExchRate = decimal.Parse(dstPosting.Tables[0].Rows[i]["ExchangeRateMainToTHB"].ToString()); accrItem2.Active = true; accrItem2.CreBy = 1; accrItem2.CreDate = DateTime.Now; accrItem2.UpdBy = 1; accrItem2.UpdDate = DateTime.Now; accrItem2.UpdPgm = "RemittancePosting"; BapiServiceProvider.Bapiaccr09Service.Save(accrItem2); #endregion Debit } } #endregion คู่บัญชี } }
public override string OnSendDraft(long workFlowID, object eventData) { WorkFlow workFlow = WorkFlowQueryProvider.WorkFlowQuery.FindByIdentity(workFlowID); SCGDocument scgDocument = ScgeAccountingQueryProvider.SCGDocumentQuery.GetSCGDocumentByDocumentID(workFlow.Document.DocumentID); /*TODO validate , save event data to workflow*/ WorkFlowResponse response = new WorkFlowResponse(); try { SubmitResponse submitResponse = eventData as SubmitResponse; response.WorkFlow = workFlow; response.WorkFlowStateEvent = WorkFlowQueryProvider.WorkFlowStateEventQuery.FindByIdentity(submitResponse.WorkFlowStateEventID); response.ResponseBy = UserAccount.UserID; response.ResponseDate = DateTime.Now; response.Active = true; response.CreBy = UserAccount.UserID; response.CreDate = DateTime.Now; response.UpdBy = UserAccount.UserID; response.UpdDate = DateTime.Now; response.UpdPgm = "WorkFlow"; WorkFlowDaoProvider.WorkFlowResponseDao.Save(response); if (string.IsNullOrEmpty(scgDocument.DocumentNo)) { //TODO : Generate Document No and Save it int year = DateTime.Now.Year; scgDocument.DocumentNo = DbDocumentRunningService.RetrieveNextDocumentRunningNo(year, scgDocument.DocumentType.DocumentTypeID, scgDocument.CompanyID.CompanyID); scgDocument.DocumentDate = DateTime.Now; ScgeAccountingDaoProvider.SCGDocumentDao.Update(scgDocument); } } catch (Exception) { throw; } /* TODO generate signal string * Case 1 : CA Document has initiator => SendDraftToWaitInitator * Case 2 : CA Document has no initiator => SendDraftToWaitApprove */ string signal = ""; //CADocument caDocument = ScgeAccountingQueryProvider.CADocumentQuery.GetCADocumentByDocumentID(workFlow.Document.DocumentID); IList <DocumentInitiator> initiators = ScgeAccountingQueryProvider.DocumentInitiatorQuery.GetNotResponseInitiatorByDocumentID(workFlow.Document.DocumentID); if (initiators.Count > 0) { signal = "SendDraftToWaitInitial"; } else { signal = "SendDraftToWaitApprove"; } if (ParameterServices.EnableEmail02Requester) { if (scgDocument.CreatorID.Userid != scgDocument.RequesterID.Userid) { SCGEmailService.SendEmailEM02(response.WorkFlowResponseID, scgDocument.RequesterID.Userid, null); } } return(signal); }
public bool ApprovePosting(long DocID, DocumentKind DocKind) { try { bool isSuccess = true; bool ChangeState = false; SCGDocument doc = ScgeAccountingQueryProvider.SCGDocumentQuery.GetSCGDocumentByDocumentID(DocID); if (doc == null) { } else if (!CanApprove(DocID, DocKind.ToString())) { } else if (this.GetPostingService(DocKind.ToString()).GetDocumentStatus(DocID, DocKind.ToString()) == "A") { } else { #region Approve IList <BAPIApproveReturn> bapiReturn = this.GetPostingService(DocKind.ToString()).BAPIApprove(DocID, DocKind.ToString(), this.UserAccount.UserID); if (DocKind.ToString() == DocumentKind.ExpenseRemittance.ToString()) { FnExpenseDocument docExpense = ScgeAccountingQueryProvider.FnExpenseDocumentQuery.GetExpenseDocumentByDocumentID(DocID); if (GetPostingService(DocKind.ToString()).GetDocumentStatus(DocID, DocKind.ToString()) == "A") { docExpense.RemittancePostingStatus = "C"; FnExpenseDocumentService.SaveOrUpdate(docExpense); } else if (GetPostingService(DocKind.ToString()).GetDocumentStatus(DocID, DocKind.ToString()) == "PP") { docExpense.RemittancePostingStatus = "PP"; FnExpenseDocumentService.SaveOrUpdate(docExpense); } } else { if (this.GetPostingService(DocKind.ToString()).GetDocumentStatus(DocID, DocKind.ToString()) == "A") { doc.PostingStatus = "C"; SCGDocumentService.SaveOrUpdate(doc); } else if (this.GetPostingService(DocKind.ToString()).GetDocumentStatus(DocID, DocKind.ToString()) == "PP") { doc.PostingStatus = "PP"; SCGDocumentService.SaveOrUpdate(doc); } } #endregion Approve #region Call WorkFlow for (int i = 0; i < bapiReturn.Count; i++) { if (bapiReturn[i].ApproveStatus != "S") { isSuccess = false; break; } } if (isSuccess) { ChangeState = true; WorkFlowApprove(DocKind.ToString()); } #endregion Call WorkFlow if (ChangeState) { string wfid = System.Web.HttpContext.Current.Request.QueryString["wfid"].ToString(); System.Web.HttpContext.Current.Response.Redirect("SubmitResult.aspx?wfid=" + wfid); } } return(isSuccess); } catch (Exception ex) { throw ex; } }
public override void CreatePostData(long DocID, string DocKind) { Hashtable paramete = new Hashtable(); paramete.Add("@DOCUMENT_ID", DocID.ToString()); DataSet dstPosting = new DBManage().ExecuteQuery("FIXEDADVANCE_POSTING", paramete); SCGDocument doc = SCG.eAccounting.Query.ScgeAccountingQueryProvider.SCGDocumentQuery.FindProxyByIdentity(DocID); DbSapInstance sap = SCG.DB.Query.ScgDbQueryProvider.DbCompanyQuery.GetSAPDocTypeForPosting(doc.CompanyID.CompanyCode); if (dstPosting.Tables[0].Rows.Count > 0) { #region Domestic if (dstPosting.Tables[0].Rows[0]["FixedAdvanceType"].ToString() == "1") { #region HEAD Bapiache09 che09 = new Bapiache09(); che09.DocId = DocID; che09.DocSeq = "M"; che09.DocKind = DocKind; che09.BusAct = PostingConst.BusAct; che09.Username = sap.UserCPIC; //PostingConst.UserCPIC; che09.CompCode = dstPosting.Tables[0].Rows[0]["COMP_CODE"].ToString().Substring(0, 4); che09.DocDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.DocKind = DocKind; /*N-edit*/ //che09.DocType = sap.DocTypeAdvancePostingDM;//DocTypeConst.KR; che09.DocType = sap.DocTypeFixedAdvancePosting;//DocTypeConst.KR; che09.PstngDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.ReverseDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.RefDocNo = SAPUIHelper.SubString(16, dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString()); che09.DocStatus = "N"; if (dstPosting.Tables[0].Rows[0]["PaymentType"].ToString() == PaymentTypeConst.DomesticCash) { che09.DocAppFlag = "A"; } else { che09.DocAppFlag = "V"; } che09.Active = true; che09.CreBy = 1; che09.CreDate = DateTime.Now; che09.UpdBy = 1; che09.UpdDate = DateTime.Now; che09.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiache09Service.Save(che09); #endregion HEAD #region Foolter Bapiacextc cextc = new Bapiacextc(); cextc.DocId = DocID; cextc.DocSeq = "M"; cextc.DocKind = DocKind; cextc.Field1 = PostingConst.BRNCH; cextc.Field2 = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); cextc.Active = true; cextc.CreBy = 1; cextc.CreDate = DateTime.Now; cextc.UpdBy = 1; cextc.UpdDate = DateTime.Now; cextc.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.BapiacextcService.Save(cextc); Bapiacextc cextc1 = new Bapiacextc(); cextc1.DocId = DocID; cextc1.DocSeq = "M"; cextc1.DocKind = DocKind; cextc1.Field1 = PostingConst.VAT; cextc1.Field2 = TaxCodeConst.NV; cextc1.Active = true; cextc1.CreBy = 1; cextc1.CreDate = DateTime.Now; cextc1.UpdBy = 1; cextc1.UpdDate = DateTime.Now; cextc1.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.BapiacextcService.Save(cextc1); #endregion Foolter #region Transfer หรือ Cheque #region Credit Bapiacap09 capItem1 = new Bapiacap09(); capItem1.DocId = DocID; capItem1.DocSeq = "M"; capItem1.DocKind = DocKind; capItem1.ItemnoAcc = "1"; capItem1.VendorNo = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["RequesterID"].ToString())).VendorCode; capItem1.PmntBlock = PostingConst.PmntBlock; capItem1.Pmnttrms = PostingConst.Pmnttrms; capItem1.BlineDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); //capItem1.AllocNmbr = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["ReceiverID"].ToString())).EmployeeName; //capItem1.AllocNmbr = SAPUIHelper.SubString18(capItem1.AllocNmbr); capItem1.AllocNmbr = dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString(); capItem1.PymtMeth = dstPosting.Tables[0].Rows[0]["PaymentMethod"].ToString(); capItem1.ItemText = dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem1.ItemText = SAPUIHelper.SubString50(capItem1.ItemText); capItem1.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem1.TaxCode = TaxCodeConst.NV; capItem1.Active = true; capItem1.CreBy = 1; capItem1.CreDate = DateTime.Now; capItem1.UpdBy = 1; capItem1.UpdDate = DateTime.Now; capItem1.UpdPgm = "FixedAdvancePosting"; capItem1.Pmtmthsupl = doc.Supplementary; //dstPosting.Tables[0].Rows[0]["Supplementary"].ToString(); BapiServiceProvider.Bapiacap09Service.Save(capItem1); Bapiaccr09 accrItem1 = new Bapiaccr09(); accrItem1.DocId = DocID; accrItem1.DocSeq = "M"; accrItem1.DocKind = DocKind; accrItem1.ItemnoAcc = "1"; accrItem1.Currency = PostingConst.Currency; accrItem1.AmtDoccur = 0 - decimal.Parse(dstPosting.Tables[0].Rows[0]["Amount"].ToString()); accrItem1.Active = true; accrItem1.CreBy = 1; accrItem1.CreDate = DateTime.Now; accrItem1.UpdBy = 1; accrItem1.UpdDate = DateTime.Now; accrItem1.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiaccr09Service.Save(accrItem1); #endregion Credit #region Debit Bapiacap09 capItem2 = new Bapiacap09(); capItem2.DocId = DocID; capItem2.DocSeq = "M"; capItem2.DocKind = DocKind; capItem2.ItemnoAcc = "2"; //capItem2.GlAccount = SAPUIHelper.GetFixedPostingAccountDr(long.Parse(dstPosting.Tables[0].Rows[0]["RequesterID"].ToString())); capItem2.VendorNo = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["RequesterID"].ToString())).VendorCode; capItem2.Pmnttrms = PostingConst.Pmnttrms; capItem2.PymtMeth = dstPosting.Tables[0].Rows[0]["PaymentMethod"].ToString(); capItem2.BlineDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); capItem2.PmntBlock = ""; capItem2.AllocNmbr = dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString(); capItem2.AllocNmbr = SAPUIHelper.SubString18(capItem2.AllocNmbr); capItem2.ItemText = dstPosting.Tables[0].Rows[0]["DueDate"].ToString() + "/" + dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem2.ItemText = SAPUIHelper.SubString50(capItem2.ItemText); capItem2.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem2.TaxCode = TaxCodeConst.NV; capItem2.SpGlInd = SpGlIndConst.H; capItem2.Pmtmthsupl = doc.Supplementary; //dstPosting.Tables[0].Rows[0]["Supplementary"].ToString(); capItem2.Active = true; capItem2.CreBy = 1; capItem2.CreDate = DateTime.Now; capItem2.UpdBy = 1; capItem2.UpdDate = DateTime.Now; capItem2.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiacap09Service.Save(capItem2); Bapiaccr09 accrItem2 = new Bapiaccr09(); accrItem2.DocId = DocID; accrItem2.DocSeq = "M"; accrItem2.DocKind = DocKind; accrItem2.ItemnoAcc = "2"; accrItem2.Currency = PostingConst.Currency; accrItem2.AmtDoccur = decimal.Parse(dstPosting.Tables[0].Rows[0]["Amount"].ToString()); accrItem2.Active = true; accrItem2.CreBy = 1; accrItem2.CreDate = DateTime.Now; accrItem2.UpdBy = 1; accrItem2.UpdDate = DateTime.Now; accrItem2.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiaccr09Service.Save(accrItem2); #endregion Debit #endregion Transfer หรือ Cheque } else { if (decimal.Parse(dstPosting.Tables[0].Rows[0]["NetAmount"].ToString()) > 0) { #region HEAD Bapiache09 che09 = new Bapiache09(); che09.DocId = DocID; che09.DocSeq = "M"; che09.DocKind = DocKind; che09.BusAct = PostingConst.BusAct; che09.Username = sap.UserCPIC; //PostingConst.UserCPIC; che09.CompCode = dstPosting.Tables[0].Rows[0]["COMP_CODE"].ToString().Substring(0, 4); che09.DocDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.DocKind = DocKind; /*N-edit*/ //che09.DocType = sap.DocTypeAdvancePostingDM;//DocTypeConst.KR; che09.DocType = sap.DocTypeFixedAdvancePosting;//DocTypeConst.KR; che09.PstngDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.ReverseDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.RefDocNo = SAPUIHelper.SubString(16, dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString()); che09.DocStatus = "N"; if (dstPosting.Tables[0].Rows[0]["PaymentType"].ToString() == PaymentTypeConst.DomesticCash) { che09.DocAppFlag = "A"; } else { che09.DocAppFlag = "V"; } che09.Active = true; che09.CreBy = 1; che09.CreDate = DateTime.Now; che09.UpdBy = 1; che09.UpdDate = DateTime.Now; che09.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiache09Service.Save(che09); #endregion HEAD #region Foolter Bapiacextc cextc = new Bapiacextc(); cextc.DocId = DocID; cextc.DocSeq = "M"; cextc.DocKind = DocKind; cextc.Field1 = PostingConst.BRNCH; cextc.Field2 = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); cextc.Active = true; cextc.CreBy = 1; cextc.CreDate = DateTime.Now; cextc.UpdBy = 1; cextc.UpdDate = DateTime.Now; cextc.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.BapiacextcService.Save(cextc); Bapiacextc cextc1 = new Bapiacextc(); cextc1.DocId = DocID; cextc1.DocSeq = "M"; cextc1.DocKind = DocKind; cextc1.Field1 = PostingConst.VAT; cextc1.Field2 = TaxCodeConst.NV; cextc1.Active = true; cextc1.CreBy = 1; cextc1.CreDate = DateTime.Now; cextc1.UpdBy = 1; cextc1.UpdDate = DateTime.Now; cextc1.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.BapiacextcService.Save(cextc1); #endregion Foolter if (dstPosting.Tables[0].Rows[0]["PaymentType"].ToString() == PaymentTypeConst.DomesticCash) { #region Cash #region Credit Bapiacap09 capItem1 = new Bapiacap09(); capItem1.DocId = DocID; capItem1.DocSeq = "M"; capItem1.DocKind = DocKind; capItem1.ItemnoAcc = "1"; capItem1.VendorNo = dstPosting.Tables[0].Rows[0]["PBCode"].ToString(); capItem1.PmntBlock = PostingConst.PmntBlock; capItem1.Pmnttrms = PostingConst.Pmnttrms; capItem1.BlineDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); capItem1.AllocNmbr = SAPUIHelper.GetFixedPostingAccountAdjustCr(long.Parse(dstPosting.Tables[0].Rows[0]["ReceiverID"].ToString())); capItem1.AllocNmbr = SAPUIHelper.SubString18(capItem1.AllocNmbr); capItem1.PymtMeth = dstPosting.Tables[0].Rows[0]["PaymentMethod"].ToString(); capItem1.ItemText = dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem1.ItemText = SAPUIHelper.SubString50(capItem1.ItemText); capItem1.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem1.TaxCode = TaxCodeConst.NV; capItem1.Pmtmthsupl = doc.Supplementary; //dstPosting.Tables[0].Rows[0]["Supplementary"].ToString(); capItem1.Active = true; capItem1.CreBy = 1; capItem1.CreDate = DateTime.Now; capItem1.UpdBy = 1; capItem1.UpdDate = DateTime.Now; capItem1.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiacap09Service.Save(capItem1); Bapiaccr09 accrItem1 = new Bapiaccr09(); accrItem1.DocId = DocID; accrItem1.DocSeq = "M"; accrItem1.DocKind = DocKind; accrItem1.ItemnoAcc = "1"; accrItem1.Currency = PostingConst.Currency; accrItem1.AmtDoccur = 0 - (decimal.Parse(dstPosting.Tables[0].Rows[0]["Amount"].ToString()) - decimal.Parse(dstPosting.Tables[0].Rows[0]["NetAmount"].ToString())); accrItem1.Active = true; accrItem1.CreBy = 1; accrItem1.CreDate = DateTime.Now; accrItem1.UpdBy = 1; accrItem1.UpdDate = DateTime.Now; accrItem1.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiaccr09Service.Save(accrItem1); #endregion Credit #region Debit Bapiacap09 capItem2 = new Bapiacap09(); capItem2.DocId = DocID; capItem2.DocSeq = "M"; capItem2.DocKind = DocKind; capItem2.ItemnoAcc = "2"; //capItem2.GlAccount = SAPUIHelper.GetFixedPostingAccountAdjustDr(long.Parse(dstPosting.Tables[0].Rows[0]["RequesterID"].ToString())); capItem2.VendorNo = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["RequesterID"].ToString())).VendorCode; capItem2.Pmnttrms = PostingConst.Pmnttrms; capItem2.PymtMeth = dstPosting.Tables[0].Rows[0]["PaymentMethod"].ToString(); capItem2.BlineDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); capItem2.PmntBlock = PostingConst.PmntBlock; capItem2.AllocNmbr = dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString(); capItem2.AllocNmbr = SAPUIHelper.SubString18(capItem2.AllocNmbr); capItem2.ItemText = dstPosting.Tables[0].Rows[0]["DueDate"].ToString() + "/" + dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem2.ItemText = SAPUIHelper.SubString50(capItem2.ItemText); capItem2.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem2.TaxCode = TaxCodeConst.NV; capItem2.SpGlInd = SpGlIndConst.H; capItem2.Active = true; capItem2.CreBy = 1; capItem2.CreDate = DateTime.Now; capItem2.UpdBy = 1; capItem2.UpdDate = DateTime.Now; capItem2.UpdPgm = "FixedAdvancePosting"; capItem2.Pmtmthsupl = doc.Supplementary; //dstPosting.Tables[0].Rows[0]["Supplementary"].ToString(); BapiServiceProvider.Bapiacap09Service.Save(capItem2); Bapiaccr09 accrItem2 = new Bapiaccr09(); accrItem2.DocId = DocID; accrItem2.DocSeq = "M"; accrItem2.DocKind = DocKind; accrItem2.ItemnoAcc = "2"; accrItem2.Currency = PostingConst.Currency; accrItem2.AmtDoccur = decimal.Parse(dstPosting.Tables[0].Rows[0]["Amount"].ToString()); accrItem2.Active = true; accrItem2.CreBy = 1; accrItem2.CreDate = DateTime.Now; accrItem2.UpdBy = 1; accrItem2.UpdDate = DateTime.Now; accrItem2.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiaccr09Service.Save(accrItem2); #endregion Debit #region CreditDifferentAmount Bapiacap09 capItem3 = new Bapiacap09(); capItem3.DocId = DocID; capItem3.DocSeq = "M"; capItem3.DocKind = DocKind; capItem3.ItemnoAcc = "3"; capItem3.VendorNo = dstPosting.Tables[0].Rows[0]["PBCode"].ToString(); capItem3.PmntBlock = PostingConst.PmntBlock; capItem3.Pmnttrms = PostingConst.Pmnttrms; capItem3.BlineDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); capItem3.AllocNmbr = SAPUIHelper.GetFixedPostingAccountCr(long.Parse(dstPosting.Tables[0].Rows[0]["ReceiverID"].ToString())); capItem3.AllocNmbr = SAPUIHelper.SubString18(capItem1.AllocNmbr); capItem3.PymtMeth = dstPosting.Tables[0].Rows[0]["PaymentMethod"].ToString(); capItem3.ItemText = dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem3.ItemText = SAPUIHelper.SubString50(capItem1.ItemText); capItem3.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem3.TaxCode = TaxCodeConst.NV; capItem3.Active = true; capItem3.CreBy = 1; capItem3.CreDate = DateTime.Now; capItem3.UpdBy = 1; capItem3.UpdDate = DateTime.Now; capItem3.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiacap09Service.Save(capItem3); Bapiaccr09 accrItem3 = new Bapiaccr09(); accrItem3.DocId = DocID; accrItem3.DocSeq = "M"; accrItem3.DocKind = DocKind; accrItem3.ItemnoAcc = "3"; accrItem3.Currency = PostingConst.Currency; accrItem3.AmtDoccur = 0 - decimal.Parse(dstPosting.Tables[0].Rows[0]["NetAmount"].ToString()); accrItem3.Active = true; accrItem3.CreBy = 1; accrItem3.CreDate = DateTime.Now; accrItem3.UpdBy = 1; accrItem3.UpdDate = DateTime.Now; accrItem3.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiaccr09Service.Save(accrItem3); #endregion CreditDifferrent #endregion Cash } else { #region Transfer หรือ Cheque #region Credit Bapiacap09 capItem1 = new Bapiacap09(); capItem1.DocId = DocID; capItem1.DocSeq = "M"; capItem1.DocKind = DocKind; capItem1.ItemnoAcc = "1"; capItem1.VendorNo = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["RequesterID"].ToString())).VendorCode; capItem1.PmntBlock = ""; capItem1.Pmnttrms = PostingConst.Pmnttrms; capItem1.BlineDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); //FixedAdvanceDocument favDb = ScgeAccountingQueryProvider.FixedAdvanceDocumentQuery.GetFixedAdvanceByDocumentID(DocID); //FixedAdvanceDocument fixAd = ScgeAccountingQueryProvider.FixedAdvanceDocumentQuery.GetFixedAdvanceByFixedAdvanceID((long)favDb.RefFixedAdvanceID); //SCGDocument scgDoc = ScgeAccountingQueryProvider.SCGDocumentQuery.GetSCGDocumentByDocumentID(fixAd.DocumentID.DocumentID); //capItem1.AllocNmbr = dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString(); //capItem1.AllocNmbr = scgDoc.DocumentNo; //capItem1.AllocNmbr = SAPUIHelper.SubString18(capItem1.AllocNmbr); capItem1.AllocNmbr = dstPosting.Tables[0].Rows[0]["RefFixedAdvanceID"].ToString(); capItem1.PymtMeth = dstPosting.Tables[0].Rows[0]["PaymentMethod"].ToString(); capItem1.ItemText = dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem1.ItemText = SAPUIHelper.SubString50(capItem1.ItemText); capItem1.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem1.TaxCode = TaxCodeConst.NV; capItem1.SpGlInd = SpGlIndConst.H; capItem1.Active = true; capItem1.CreBy = 1; capItem1.CreDate = DateTime.Now; capItem1.UpdBy = 1; capItem1.UpdDate = DateTime.Now; capItem1.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiacap09Service.Save(capItem1); Bapiaccr09 accrItem1 = new Bapiaccr09(); accrItem1.DocId = DocID; accrItem1.DocSeq = "M"; accrItem1.DocKind = DocKind; accrItem1.ItemnoAcc = "1"; accrItem1.Currency = PostingConst.Currency; accrItem1.AmtDoccur = 0 - (decimal.Parse(dstPosting.Tables[0].Rows[0]["Amount"].ToString()) - decimal.Parse(dstPosting.Tables[0].Rows[0]["NetAmount"].ToString())); accrItem1.Active = true; accrItem1.CreBy = 1; accrItem1.CreDate = DateTime.Now; accrItem1.UpdBy = 1; accrItem1.UpdDate = DateTime.Now; accrItem1.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiaccr09Service.Save(accrItem1); #endregion Credit #region Debit Bapiacap09 capItem2 = new Bapiacap09(); capItem2.DocId = DocID; capItem2.DocSeq = "M"; capItem2.DocKind = DocKind; capItem2.ItemnoAcc = "2"; capItem2.VendorNo = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["RequesterID"].ToString())).VendorCode; capItem2.Pmnttrms = PostingConst.Pmnttrms; capItem2.PymtMeth = dstPosting.Tables[0].Rows[0]["PaymentMethod"].ToString(); capItem2.BlineDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); capItem2.PmntBlock = ""; capItem2.AllocNmbr = dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString(); //capItem2.AllocNmbr = SAPUIHelper.SubString18(capItem2.AllocNmbr); capItem2.ItemText = dstPosting.Tables[0].Rows[0]["DueDate"].ToString() + "/" + dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem2.ItemText = SAPUIHelper.SubString50(capItem2.ItemText); capItem2.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem2.TaxCode = TaxCodeConst.NV; capItem2.SpGlInd = SpGlIndConst.H; capItem2.Active = true; capItem2.CreBy = 1; capItem2.CreDate = DateTime.Now; capItem2.UpdBy = 1; capItem2.UpdDate = DateTime.Now; capItem2.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiacap09Service.Save(capItem2); Bapiaccr09 accrItem2 = new Bapiaccr09(); accrItem2.DocId = DocID; accrItem2.DocSeq = "M"; accrItem2.DocKind = DocKind; accrItem2.ItemnoAcc = "2"; accrItem2.Currency = PostingConst.Currency; accrItem2.AmtDoccur = decimal.Parse(dstPosting.Tables[0].Rows[0]["Amount"].ToString()); accrItem2.Active = true; accrItem2.CreBy = 1; accrItem2.CreDate = DateTime.Now; accrItem2.UpdBy = 1; accrItem2.UpdDate = DateTime.Now; accrItem2.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiaccr09Service.Save(accrItem2); #endregion Debit #region CreditDifferrent Bapiacap09 capItem3 = new Bapiacap09(); capItem3.DocId = DocID; capItem3.DocSeq = "M"; capItem3.DocKind = DocKind; capItem3.ItemnoAcc = "3"; capItem3.VendorNo = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["RequesterID"].ToString())).VendorCode; capItem3.PmntBlock = ""; capItem3.Pmnttrms = PostingConst.Pmnttrms; capItem3.BlineDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); capItem3.AllocNmbr = dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString(); capItem3.AllocNmbr = SAPUIHelper.SubString18(capItem3.AllocNmbr); capItem3.PymtMeth = dstPosting.Tables[0].Rows[0]["PaymentMethod"].ToString(); capItem3.ItemText = dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem3.ItemText = SAPUIHelper.SubString50(capItem3.ItemText); capItem3.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem3.TaxCode = TaxCodeConst.NV; //capItem3.SpGlInd = SpGlIndConst.H; capItem3.Active = true; capItem3.CreBy = 1; capItem3.CreDate = DateTime.Now; capItem3.UpdBy = 1; capItem3.UpdDate = DateTime.Now; capItem3.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiacap09Service.Save(capItem3); Bapiaccr09 accrItem3 = new Bapiaccr09(); accrItem3.DocId = DocID; accrItem3.DocSeq = "M"; accrItem3.DocKind = DocKind; accrItem3.ItemnoAcc = "3"; accrItem3.Currency = PostingConst.Currency; accrItem3.AmtDoccur = 0 - decimal.Parse(dstPosting.Tables[0].Rows[0]["NetAmount"].ToString()); accrItem3.Active = true; accrItem3.CreBy = 1; accrItem3.CreDate = DateTime.Now; accrItem3.UpdBy = 1; accrItem3.UpdDate = DateTime.Now; accrItem3.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiaccr09Service.Save(accrItem3); #endregion CreditDifferrent #endregion Transfer หรือ Cheque } } else { /*PayBack Company*/ #region HEAD Bapiache09 che09 = new Bapiache09(); che09.DocId = DocID; che09.DocSeq = "M"; che09.DocKind = DocKind; che09.BusAct = PostingConst.BusAct; che09.Username = sap.UserCPIC; //PostingConst.UserCPIC; che09.CompCode = dstPosting.Tables[0].Rows[0]["COMP_CODE"].ToString().Substring(0, 4); che09.DocDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.DocKind = DocKind; /*N-edit*/ //che09.DocType = sap.DocTypeAdvancePostingDM;//DocTypeConst.KR; che09.DocType = sap.DocTypeFixedAdvanceReturnPosting;//DocTypeConst.KR; che09.PstngDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.ReverseDate = dstPosting.Tables[0].Rows[0]["PostingDate"].ToString(); che09.RefDocNo = SAPUIHelper.SubString(16, dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString()); che09.DocStatus = "N"; if (dstPosting.Tables[0].Rows[0]["PaymentType"].ToString() == PaymentTypeConst.DomesticCash) { che09.DocAppFlag = "A"; } else { che09.DocAppFlag = "V"; } che09.Active = true; che09.CreBy = 1; che09.CreDate = DateTime.Now; che09.UpdBy = 1; che09.UpdDate = DateTime.Now; che09.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiache09Service.Save(che09); #endregion HEAD #region Foolter Bapiacextc cextc = new Bapiacextc(); cextc.DocId = DocID; cextc.DocSeq = "M"; cextc.DocKind = DocKind; cextc.Field1 = PostingConst.BRNCH; cextc.Field2 = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); cextc.Active = true; cextc.CreBy = 1; cextc.CreDate = DateTime.Now; cextc.UpdBy = 1; cextc.UpdDate = DateTime.Now; cextc.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.BapiacextcService.Save(cextc); Bapiacextc cextc1 = new Bapiacextc(); cextc1.DocId = DocID; cextc1.DocSeq = "M"; cextc1.DocKind = DocKind; cextc1.Field1 = PostingConst.VAT; cextc1.Field2 = TaxCodeConst.NV; cextc1.Active = true; cextc1.CreBy = 1; cextc1.CreDate = DateTime.Now; cextc1.UpdBy = 1; cextc1.UpdDate = DateTime.Now; cextc1.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.BapiacextcService.Save(cextc1); #endregion Foolter #region Cash Or Tranfer #region Credit Bapiacap09 capItem1 = new Bapiacap09(); capItem1.DocId = DocID; capItem1.DocSeq = "M"; capItem1.DocKind = DocKind; capItem1.ItemnoAcc = "1"; capItem1.VendorNo = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["RequesterID"].ToString())).VendorCode; capItem1.PmntBlock = PostingConst.PmntBlock; capItem1.Pmnttrms = PostingConst.Pmnttrms; capItem1.BlineDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); //capItem1.AllocNmbr = SAPUIHelper.GetFixedPostingAccountAdjustCr(long.Parse(dstPosting.Tables[0].Rows[0]["ReceiverID"].ToString())); //capItem1.AllocNmbr = SAPUIHelper.SubString18(capItem1.AllocNmbr); /*N-Edited Ref FixedAdvanceID*/ capItem1.AllocNmbr = dstPosting.Tables[0].Rows[0]["RefFixedAdvanceID"].ToString(); capItem1.PymtMeth = dstPosting.Tables[0].Rows[0]["PaymentMethod"].ToString(); capItem1.ItemText = dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem1.ItemText = SAPUIHelper.SubString50(capItem1.ItemText); capItem1.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem1.TaxCode = TaxCodeConst.NV; capItem1.SpGlInd = SpGlIndConst.H; capItem1.Active = true; capItem1.CreBy = 1; capItem1.CreDate = DateTime.Now; capItem1.UpdBy = 1; capItem1.UpdDate = DateTime.Now; capItem1.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiacap09Service.Save(capItem1); Bapiaccr09 accrItem1 = new Bapiaccr09(); accrItem1.DocId = DocID; accrItem1.DocSeq = "M"; accrItem1.DocKind = DocKind; accrItem1.ItemnoAcc = "1"; accrItem1.Currency = PostingConst.Currency; accrItem1.AmtDoccur = 0 - (decimal.Parse(dstPosting.Tables[0].Rows[0]["Amount"].ToString()) + (-1 * decimal.Parse(dstPosting.Tables[0].Rows[0]["NetAmount"].ToString()))); accrItem1.Active = true; accrItem1.CreBy = 1; accrItem1.CreDate = DateTime.Now; accrItem1.UpdBy = 1; accrItem1.UpdDate = DateTime.Now; accrItem1.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiaccr09Service.Save(accrItem1); #endregion Credit #region Debit Bapiacap09 capItem2 = new Bapiacap09(); capItem2.DocId = DocID; capItem2.DocSeq = "M"; capItem2.DocKind = DocKind; capItem2.ItemnoAcc = "2"; //capItem2.GlAccount = SAPUIHelper.GetFixedPostingAccountAdjustDr(long.Parse(dstPosting.Tables[0].Rows[0]["RequesterID"].ToString())); capItem2.VendorNo = SAPUIHelper.GetEmployee(long.Parse(dstPosting.Tables[0].Rows[0]["RequesterID"].ToString())).VendorCode; capItem2.Pmnttrms = PostingConst.Pmnttrms; capItem2.PymtMeth = dstPosting.Tables[0].Rows[0]["PaymentMethod"].ToString(); capItem2.BlineDate = dstPosting.Tables[0].Rows[0]["BaseLineDate"].ToString(); capItem2.PmntBlock = PostingConst.PmntBlock; capItem2.AllocNmbr = dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString(); capItem2.AllocNmbr = SAPUIHelper.SubString18(capItem2.AllocNmbr); capItem2.ItemText = dstPosting.Tables[0].Rows[0]["DueDate"].ToString() + "/" + dstPosting.Tables[0].Rows[0]["Description"].ToString(); capItem2.ItemText = SAPUIHelper.SubString50(capItem2.ItemText); capItem2.Businessplace = dstPosting.Tables[0].Rows[0]["BranchCode"].ToString(); capItem2.TaxCode = TaxCodeConst.NV; capItem2.SpGlInd = SpGlIndConst.H; capItem2.Active = true; capItem2.CreBy = 1; capItem2.CreDate = DateTime.Now; capItem2.UpdBy = 1; capItem2.UpdDate = DateTime.Now; capItem2.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiacap09Service.Save(capItem2); Bapiaccr09 accrItem2 = new Bapiaccr09(); accrItem2.DocId = DocID; accrItem2.DocSeq = "M"; accrItem2.DocKind = DocKind; accrItem2.ItemnoAcc = "2"; accrItem2.Currency = PostingConst.Currency; accrItem2.AmtDoccur = decimal.Parse(dstPosting.Tables[0].Rows[0]["Amount"].ToString()); accrItem2.Active = true; accrItem2.CreBy = 1; accrItem2.CreDate = DateTime.Now; accrItem2.UpdBy = 1; accrItem2.UpdDate = DateTime.Now; accrItem2.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiaccr09Service.Save(accrItem2); #endregion Debit #region DebitDifferentAmount Bapiacgl09 cglItem2 = new Bapiacgl09(); cglItem2.DocId = DocID; cglItem2.DocSeq = "M"; cglItem2.DocKind = DocKind; cglItem2.ItemnoAcc = "3"; cglItem2.GlAccount = dstPosting.Tables[0].Rows[0]["BankAccount"].ToString(); cglItem2.AllocNmbr = dstPosting.Tables[0].Rows[0]["DocumentNo"].ToString(); cglItem2.AllocNmbr = SAPUIHelper.SubString18(cglItem2.AllocNmbr); cglItem2.ItemText = dstPosting.Tables[0].Rows[0]["Description"].ToString(); cglItem2.ItemText = SAPUIHelper.SubString50(cglItem2.ItemText); cglItem2.Active = true; cglItem2.CreBy = 1; cglItem2.CreDate = DateTime.Now; cglItem2.UpdBy = 1; cglItem2.UpdDate = DateTime.Now; cglItem2.UpdPgm = "FixedAdvancePosting"; /*N-edited valuedate = requestdate*/ cglItem2.ValueDate = dstPosting.Tables[0].Rows[0]["RequestDate"].ToString(); /*DateFormat = YYYYMMDD*/ BapiServiceProvider.Bapiacgl09Service.Save(cglItem2); Bapiaccr09 accrItem3 = new Bapiaccr09(); accrItem3.DocId = DocID; accrItem3.DocSeq = "M"; accrItem3.DocKind = DocKind; accrItem3.ItemnoAcc = "3"; accrItem3.Currency = PostingConst.Currency; accrItem3.AmtDoccur = (-1 * decimal.Parse(dstPosting.Tables[0].Rows[0]["NetAmount"].ToString())); accrItem3.Active = true; accrItem3.CreBy = 1; accrItem3.CreDate = DateTime.Now; accrItem3.UpdBy = 1; accrItem3.UpdDate = DateTime.Now; accrItem3.UpdPgm = "FixedAdvancePosting"; BapiServiceProvider.Bapiaccr09Service.Save(accrItem3); #endregion DebitDifferentAmount #endregion Cash Or Tranfer } } #endregion Domestic } }
public void InsertDocumentAttachment(Guid txID, long documentID) { DataSet ds = TransactionService.GetDS(txID); SCGDocument document = ScgeAccountingQueryProvider.SCGDocumentQuery.FindProxyByIdentity(documentID); DataTable insertTable = ds.Tables["DocumentAttachment"].GetChanges(DataRowState.Added); // ====================================================================== // saveFilePath get from DbParameter. string saveFilePath = "~/ImageFiles/" + documentID.ToString(); // ====================================================================== string oldFilePath = string.Empty; string newFilePath = string.Empty; if (insertTable != null) { foreach (DataRow row in insertTable.Rows) { if (Convert.ToInt64(row["AttachmentID"].ToString()) < 0) { DocumentAttachment attachment = new DocumentAttachment(); attachment.DocumentID = document; attachment.AttachFileName = row["AttachFileName"].ToString(); attachment.AttachFilePath = saveFilePath; oldFilePath = row["AttachFilePath"].ToString(); newFilePath = row["AttachFilePath"].ToString().Replace(txID.ToString(), documentID.ToString()); attachment.Active = (bool)row["Active"]; attachment.CreBy = Convert.ToInt64(row["CreBy"].ToString()); attachment.CreDate = DateTime.Parse(row["CreDate"].ToString()); attachment.UpdBy = Convert.ToInt64(row["UpdBy"].ToString()); attachment.UpdDate = DateTime.Parse(row["UpdDate"].ToString()); attachment.UpdPgm = row["UpdPgm"].ToString(); ScgeAccountingDaoProvider.DocumentAttachmentDao.Save(attachment); } } // Move file to new filepath. if (!string.IsNullOrEmpty(oldFilePath) && !string.IsNullOrEmpty(newFilePath) && !newFilePath.Equals(oldFilePath)) { if (Directory.Exists(oldFilePath)) { if (Directory.Exists(newFilePath)) { // if already have the new file path. // then move only file to the new file path. string[] files = Directory.GetFiles(oldFilePath); foreach (string file in files) { string newFile = file.Replace(oldFilePath, newFilePath); if (File.Exists(newFile)) { File.Delete(newFile); } File.Move(file, newFile); } Directory.Delete(oldFilePath); } else { // if no new file directory. // then move the old file path to the new file path. Directory.Move(oldFilePath, newFilePath); } } } } }
public override string OnApproveWaitApprove(long workFlowID, object eventData) { /*TODO validate , save event data to workflow*/ WorkFlow workFlow = WorkFlowQueryProvider.WorkFlowQuery.FindByIdentity(workFlowID); SCGDocument scgDocument = ScgeAccountingQueryProvider.SCGDocumentQuery.GetSCGDocumentByDocumentID(workFlow.Document.DocumentID); Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors(); MPADocument mpaDocument = ScgeAccountingQueryProvider.MPADocumentQuery.GetMPADocumentByDocumentID(workFlow.Document.DocumentID); if (!errors.IsEmpty) { throw new SS.Standard.Utilities.ServiceValidationException(errors); } try { ////SubmitResponse submitResponse = eventData as SubmitResponse; WorkFlowResponse response = new WorkFlowResponse(); int workFlowStateEventId; response.WorkFlow = workFlow; response.ResponseBy = UserAccount.UserID; response.ResponseDate = DateTime.Now; response.Active = true; response.CreBy = UserAccount.UserID; response.CreDate = DateTime.Now; response.UpdBy = UserAccount.UserID; response.UpdDate = DateTime.Now; response.UpdPgm = UserAccount.CurrentProgramCode; if (eventData is RejectDetailResponse) { RejectDetailResponse rejectDetailResponse = eventData as RejectDetailResponse; workFlowStateEventId = rejectDetailResponse.WorkFlowStateEventID; WorkFlowRejectResponse rejectResponse = new WorkFlowRejectResponse(); rejectResponse.WorkFlowResponse = response; if (rejectDetailResponse.ReasonID != 0) { rejectResponse.Reason = ScgDbQueryProvider.DbRejectReasonQuery.FindProxyByIdentity(rejectDetailResponse.ReasonID); } rejectResponse.Remark = rejectDetailResponse.Remark; rejectResponse.Active = true; rejectResponse.CreBy = UserAccount.UserID; rejectResponse.CreDate = DateTime.Now; rejectResponse.UpdBy = UserAccount.UserID; rejectResponse.UpdDate = DateTime.Now; rejectResponse.UpdPgm = UserAccount.CurrentProgramCode; if (rejectDetailResponse.ResponseMethod != null) { response.ResponseMethod = rejectDetailResponse.ResponseMethod.GetHashCode().ToString(); } response.WorkFlowStateEvent = WorkFlowQueryProvider.WorkFlowStateEventQuery.FindByIdentity(workFlowStateEventId); WorkFlowDaoProvider.WorkFlowResponseDao.Save(response); if (rejectDetailResponse.ReasonID != 0 || !string.IsNullOrEmpty(rejectDetailResponse.Remark)) { WorkFlowDaoProvider.WorkFlowRejectResponseDao.Save(rejectResponse); } } else { SubmitResponse submitResponse = eventData as SubmitResponse; workFlowStateEventId = submitResponse.WorkFlowStateEventID; if (submitResponse.ResponseMethod != null) { response.ResponseMethod = submitResponse.ResponseMethod.GetHashCode().ToString(); } response.WorkFlowStateEvent = WorkFlowQueryProvider.WorkFlowStateEventQuery.FindByIdentity(workFlowStateEventId); WorkFlowDaoProvider.WorkFlowResponseDao.Save(response); } scgDocument.ApproveDate = DateTime.Now; scgDocument.UpdBy = UserAccount.UserID; scgDocument.UpdDate = DateTime.Now; scgDocument.UpdPgm = UserAccount.CurrentProgramCode; SCGDocumentService.SaveOrUpdate(scgDocument); if (ParameterServices.EnableEmail02Creator || ParameterServices.EnableEmail02Requester || ParameterServices.EnableEmail02Initiator) { long sendToUserID = 0; IList <long> ccList = new List <long>(); if (ParameterServices.EnableEmail02Creator) { sendToUserID = scgDocument.CreatorID.Userid; } if (ParameterServices.EnableEmail02Requester) { if (sendToUserID == 0) { sendToUserID = scgDocument.RequesterID.Userid; } else if (scgDocument.CreatorID.Userid != scgDocument.RequesterID.Userid) { ccList.Add(scgDocument.RequesterID.Userid); } //Send mail02 to all travellers that doesnot requester IList <MPAItem> items = ScgeAccountingQueryProvider.MPAItemQuery.FindMPAItemByMPADocumentID(mpaDocument.MPADocumentID); foreach (MPAItem item in items) { if (sendToUserID == 0) { sendToUserID = item.UserID.Userid; } else if (item.UserID.Userid != sendToUserID && !ccList.Contains(item.UserID.Userid)) { ccList.Add(item.UserID.Userid); } } } if (ParameterServices.EnableEmail02Initiator) { IList <DocumentInitiator> initiators = ScgeAccountingQueryProvider.DocumentInitiatorQuery.GetDocumentInitiatorByDocumentID(workFlow.Document.DocumentID); foreach (DocumentInitiator initiator in initiators) { if (sendToUserID == 0) { sendToUserID = initiator.UserID.Userid; } else if (initiator.UserID.Userid != sendToUserID && !ccList.Contains(initiator.UserID.Userid)) { ccList.Add(initiator.UserID.Userid); } } } SCGEmailService.SendEmailEM02(response.WorkFlowResponseID, sendToUserID, ccList); } } catch (Exception) { throw; } // ====================== For Approve all advance that link to TA ====================== // Use state WaitApprove to add into table WorkflowResponse string eventName = "Approve"; WorkFlowStateEvent stateEvent = WorkFlowQueryProvider.WorkFlowStateEventQuery.GetByWorkFlowStateID_EventName(AdvanceStateID.WaitApprove, eventName); return("ApproveWaitApproveToComplete"); }
public long Save() { Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors(); CADocumentDataSet caDocumentDS = (CADocumentDataSet)TransactionService.GetDS(this.TransactionID); if (caDocumentDS == null) { OnDsNull(); } CADocumentDataSet.CADocumentRow caDocumentRow = caDocumentDS.CADocument.FindByCADocumentID(this.CADocumentID); long tempDocumentID = caDocumentRow.DocumentID; #region SCGDocument SCGDocument scgDocument = new SCGDocument(tempDocumentID); if (!string.IsNullOrEmpty(ctlCompanyField.CompanyID)) { scgDocument.CompanyID = new DbCompany(UIHelper.ParseLong(ctlCompanyField.CompanyID)); } scgDocument.CreatorID = new SuUser(UIHelper.ParseLong(ctlCreatorData.UserID)); if (!string.IsNullOrEmpty(ctlRequesterData.UserID)) { scgDocument.RequesterID = new SuUser(UIHelper.ParseLong(ctlRequesterData.UserID)); } scgDocument.Subject = ctlSubject.Text; if (!string.IsNullOrEmpty(ctlApproverData.UserID)) { scgDocument.ApproverID = new SuUser(UIHelper.ParseLong(ctlApproverData.UserID)); } scgDocument.DocumentType = new SS.Standard.WorkFlow.DTO.DocumentType(DocumentTypeID.CADocument); scgDocument.Memo = ctlMemo.Text; scgDocument.Active = true; try { // Save SCG Document to Transaction. SCGDocumentService.UpdateTransactionDocument(this.TransactionID, scgDocument, false, true); } catch (ServiceValidationException ex) { errors.MergeErrors(ex.ValidationErrors); } #endregion SCGDocument #region CADocument CADocument caDocument = new CADocument(this.CADocumentID); caDocument.DocumentID = scgDocument; if (ctlSomeTime.Checked) { caDocument.IsTemporary = true; try { if (ctlStartDateSumtime.Value != null) { caDocument.StartDate = ctlStartDateSumtime.Value.Value; } if (ctlEndDateSumtime.Value != null) { caDocument.EndDate = ctlEndDateSumtime.Value.Value; } } catch (FormatException fex) { errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("Invalid_Date_Format")); throw new ServiceValidationException(errors); } } else if (ctlRegular.Checked) { caDocument.IsTemporary = false; try { if (ctlStartDate.Value != null) { caDocument.StartDate = ctlStartDate.Value.Value; } if (ctlEndDate.Value != null) { caDocument.EndDate = ctlEndDate.Value.Value; } } catch (FormatException fex) { errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("Invalid_Date_Format")); throw new ServiceValidationException(errors); } } caDocument.CarLicenseNo = ctlCarLicenseNo.Text; caDocument.Brand = ctlBrand.Text; caDocument.Model = ctlModel.Text; switch (ctlDropDownListCategory.SelectedValue) { case "1": caDocument.OwnerType = OwnerMileage.Employee; break; case "2": caDocument.OwnerType = OwnerMileage.Company; break; default: break; } switch (ctlDropDownListType.SelectedValue) { case "1": caDocument.CarType = TypeOfCar.PrivateCar; break; case "2": caDocument.CarType = TypeOfCar.MotorCycle; break; case "3": caDocument.CarType = TypeOfCar.Pickup; break; default: break; } if (caDocument.IsTemporary) { if (ctlWorkInArea.Checked || ctlWorkOutOfArea.Checked) { if (ctlWorkInArea.Checked) { caDocument.IsWorkArea = true; } else if (ctlWorkOutOfArea.Checked) { caDocument.IsWorkArea = false; caDocument.Remark = ctlWorkOutOfAreatxt.Text; } } else { errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("Please Select Work Area.")); } } else { if (ctlWorkInArea.Checked) { caDocument.IsWorkArea = true; } else if (ctlWorkOutOfArea.Checked) { caDocument.IsWorkArea = false; caDocument.Remark = ctlWorkOutOfAreatxt.Text; } } caDocument.Active = true; try { // Get ta document information and save to transaction. CADocumentService.UpdateCADocumentTransaction(this.TransactionID, caDocument); } catch (ServiceValidationException ex) { errors.MergeErrors(ex.ValidationErrors); } if (!errors.IsEmpty) { throw new ServiceValidationException(errors); } #endregion CADocument try { ctlInitiator.Save(); DocumentInitiatorService.ValidateDocumentInitiator(this.TransactionID, this.CADocumentID); } catch (ServiceValidationException ex) { errors.MergeErrors(ex.ValidationErrors); } if (!errors.IsEmpty) { // If have some validation error then return error. throw new ServiceValidationException(errors); } else { return(this.SaveToDatabase()); } }
public override string OnRejectWaitApprove(long workFlowID, object eventData) { /*TODO validate , save event data to workflow*/ WorkFlow workFlow = WorkFlowQueryProvider.WorkFlowQuery.FindByIdentity(workFlowID); SCGDocument scgDocument = ScgeAccountingQueryProvider.SCGDocumentQuery.GetSCGDocumentByDocumentID(workFlow.Document.DocumentID); MPADocument mpaDocument = ScgeAccountingQueryProvider.MPADocumentQuery.GetMPADocumentByDocumentID(scgDocument.DocumentID); RejectDetailResponse rejectDetailResponse; try { if (eventData is SubmitResponse) { rejectDetailResponse = DefaultRejectDetailResponse((eventData as SubmitResponse).WorkFlowStateEventID, (eventData as SubmitResponse).ResponseMethod); } else { rejectDetailResponse = eventData as RejectDetailResponse; } WorkFlowResponse response = new WorkFlowResponse(); response.WorkFlow = workFlow; response.WorkFlowStateEvent = WorkFlowQueryProvider.WorkFlowStateEventQuery.FindByIdentity(rejectDetailResponse.WorkFlowStateEventID); response.ResponseBy = UserAccount.UserID; response.ResponseDate = DateTime.Now; if (rejectDetailResponse.ResponseMethod != null) { response.ResponseMethod = rejectDetailResponse.ResponseMethod.GetHashCode().ToString(); } response.Active = true; response.CreBy = UserAccount.UserID; response.CreDate = DateTime.Now; response.UpdBy = UserAccount.UserID; response.UpdDate = DateTime.Now; response.UpdPgm = "WorkFlow"; WorkFlowDaoProvider.WorkFlowResponseDao.Save(response); WorkFlowRejectResponse rejectResponse = new WorkFlowRejectResponse(); rejectResponse.WorkFlowResponse = response; rejectResponse.Reason = ScgDbQueryProvider.DbRejectReasonQuery.FindProxyByIdentity(rejectDetailResponse.ReasonID); rejectResponse.Remark = rejectDetailResponse.Remark; rejectResponse.Active = true; rejectResponse.CreBy = UserAccount.UserID; rejectResponse.CreDate = DateTime.Now; rejectResponse.UpdBy = UserAccount.UserID; rejectResponse.UpdDate = DateTime.Now; rejectResponse.UpdPgm = "WorkFlow"; WorkFlowDaoProvider.WorkFlowRejectResponseDao.Save(rejectResponse); SCGEmailService.SendEmailEM04(response.WorkFlowResponseID, scgDocument.CreatorID.Userid); if (ParameterServices.EnableEmail02Requester || ParameterServices.EnableEmail02Initiator) { long sendToUserID = 0; IList <long> ccList = new List <long>(); if (ParameterServices.EnableEmail02Requester) { if (scgDocument.CreatorID.Userid != scgDocument.RequesterID.Userid) { sendToUserID = scgDocument.RequesterID.Userid; } IList <MPAItem> items = ScgeAccountingQueryProvider.MPAItemQuery.FindMPAItemByMPADocumentID(mpaDocument.MPADocumentID); foreach (MPAItem item in items) { if (sendToUserID == 0) { sendToUserID = item.UserID.Userid; } else if (item.UserID.Userid != sendToUserID && !ccList.Contains(item.UserID.Userid)) { ccList.Add(item.UserID.Userid); } } } if (ParameterServices.EnableEmail02Initiator) { IList <DocumentInitiator> initiators = ScgeAccountingQueryProvider.DocumentInitiatorQuery.GetDocumentInitiatorByDocumentID(scgDocument.DocumentID); foreach (DocumentInitiator initiator in initiators) { if (sendToUserID == 0) { sendToUserID = initiator.UserID.Userid; } else if (initiator.UserID.Userid != sendToUserID && !ccList.Contains(initiator.UserID.Userid)) { ccList.Add(initiator.UserID.Userid); } } } SCGEmailService.SendEmailEM02(response.WorkFlowResponseID, sendToUserID, ccList); } } catch (Exception) { throw; } // Use state WaitInitial to add into table WorkflowResponse string eventName = "Reject"; WorkFlowStateEvent stateEvent = WorkFlowQueryProvider.WorkFlowStateEventQuery.GetByWorkFlowStateID_EventName(AdvanceStateID.WaitApprove, eventName); rejectDetailResponse.WorkFlowStateEventID = stateEvent.WorkFlowStateEventID; /*TODO generate signal string*/ return("RejectWaitApproveToDraft"); }
public void Show() { //for show Email To: string strTo = string.Empty; //if (this.EmailType.Equals(SCG.eAccounting.BLL.EmailType.EM10)) //{ // SuEMailLog suEmailLog = ScgeAccountingQueryProvider.EmailLogQuery. //} if (this.RequesterID != 0) { SuUser user = QueryProvider.SuUserQuery.FindProxyByIdentity(this.RequesterID); if (user != null) { strTo = user.Email + ";"; } } if (this.CreatorID != 0) { SuUser userCreator = QueryProvider.SuUserQuery.FindProxyByIdentity(this.CreatorID); if (userCreator != null) { strTo += userCreator.Email; } } if (this.EmailType == "EM09") { SCGDocument document = ScgeAccountingQueryProvider.SCGDocumentQuery.FindByIdentity(this.DocumentID); IList <DocumentAttachment> documentAttachments = ScgeAccountingQueryProvider.DocumentAttachmentQuery.GetDocumentAttachmentByDocumentID(this.DocumentID); if (documentAttachments.Count > 0) { SuUser receiver = QueryProvider.SuUserQuery.FindByIdentity(document.ReceiverID.Userid); ctlCC.Text = receiver.Email; SuUser approver = QueryProvider.SuUserQuery.FindByIdentity(document.ApproverID.Userid); ctlCC.Text += ";" + approver.Email; } } if (this.EmailType == "EM10") { SCGDocument document = ScgeAccountingQueryProvider.SCGDocumentQuery.FindByIdentity(this.DocumentID); //IList<DocumentAttachment> documentAttachments = ScgeAccountingQueryProvider.DocumentAttachmentQuery.GetDocumentAttachmentByDocumentID(this.DocumentID); if (document != null) { SuUser approver = QueryProvider.SuUserQuery.FindByIdentity(document.ApproverID.Userid); ctlCC.Text += approver.Email; } } if (this.EmailType == "EM15") { SCGDocument document = ScgeAccountingQueryProvider.SCGDocumentQuery.FindByIdentity(this.DocumentID); //IList<DocumentAttachment> documentAttachments = ScgeAccountingQueryProvider.DocumentAttachmentQuery.GetDocumentAttachmentByDocumentID(this.DocumentID); if (document != null) { SuUser approver = QueryProvider.SuUserQuery.FindByIdentity(document.ApproverID.Userid); ctlCC.Text += approver.Email; } } ctlTo.Text = strTo; ctlUpdatePanelEmailLog.Update(); this.ModalPopupExtender1.Show(); }
public void SendSMS01(long workFlowID, long sendToUserID) { try { if (ParameterServices.EnableSMS) { string tokenSMSCode = SaveResponseTokenSMS(workFlowID, sendToUserID); SuUser sendToUser = QueryProvider.SuUserQuery.FindByIdentity(sendToUserID); if (sendToUser.SMSApproveOrReject) { IList <WorkFlowResponseToken> responseTokens = WorkFlowQueryProvider.WorkFlowResponseTokenQuery.FindByTokenCode(tokenSMSCode); Document document = WorkFlowQueryProvider.WorkFlowQuery.GetDocumentByWorkFlowID(workFlowID); SCGDocument scgDocument = ScgeAccountingQueryProvider.SCGDocumentQuery.FindByIdentity(document.DocumentID); SuUser RequesterUser = QueryProvider.SuUserQuery.FindByIdentity(scgDocument.RequesterID.Userid); SMSDTO smsDto = new SMSDTO(); smsDto.From = SS.DB.Query.ParameterServices.SMSPhoneNumber; string Mobile = "66" + sendToUser.MobilePhoneNo.ToString().Remove(0, 1); smsDto.To = Mobile; smsDto.ReferenceID = tokenSMSCode; smsDto.Requestor = RequesterUser.UserName; smsDto.DocumentNo = scgDocument.DocumentNo; smsDto.UseProxy = true; if (scgDocument.DocumentType.DocumentTypeID.Equals(DocumentTypeID.AdvanceDomesticDocument) || scgDocument.DocumentType.DocumentTypeID.Equals(DocumentTypeID.AdvanceForeignDocument)) { AvAdvanceDocument avanceDocument = ScgeAccountingQueryProvider.AvAdvanceDocumentQuery.GetAvAdvanceByDocumentID(scgDocument.DocumentID); if (scgDocument.DocumentType.DocumentTypeID.Equals(DocumentTypeID.AdvanceForeignDocument)) { //ต่างประเทศจะต้องไป get Currency Symbol ออกมา if (avanceDocument != null) { smsDto.Amount = avanceDocument.Amount.ToString(); } else { smsDto.Amount = "0"; } IList <AvAdvanceItem> advanceItemList = ScgeAccountingQueryProvider.AvAdvanceItemQuery.FindByAvAdvanceItemAdvanceID(avanceDocument.AdvanceID); IList <SMSCurrencyDTO> advItemList = new List <SMSCurrencyDTO>(); foreach (AvAdvanceItem advanceItem in advanceItemList) { string dbStatus = ScgDbQueryProvider.SCGDbStatusLangQuery.GetStatusLang("PaymentTypeFRN", ParameterServices.DefaultLanguage, advanceItem.PaymentType); SMSCurrencyDTO advItem = new SMSCurrencyDTO(); advItem.PaymentType = dbStatus; if (advanceItem.CurrencyID != null) { advItem.Currency = advanceItem.CurrencyID.Symbol; } advItem.Amount = advanceItem.Amount.ToString(); advItemList.Add(advItem); } smsDto.CurrencyItemList = advItemList; smsDto.Content = BuildContentBody(smsDto, SMSContenFormat.SMS01, SMSBusinessCase.AdvanceForeignDocument); } else { //ในประเทศ Currency Symbol THB เท่านั้น if (avanceDocument != null) { smsDto.Amount = avanceDocument.Amount.ToString(); } else { smsDto.Amount = "0"; } smsDto.Content = BuildContentBody(smsDto, SMSContenFormat.SMS01, SMSBusinessCase.AdvanceDomesticDocument); } this.sendSMSStatus = SMSService.Send(smsDto); } else if (scgDocument.DocumentType.DocumentTypeID.Equals(DocumentTypeID.ExpenseDomesticDocument) || scgDocument.DocumentType.DocumentTypeID.Equals(DocumentTypeID.ExpenseForeignDocument)) { FnExpenseDocument expenseDocument = ScgeAccountingQueryProvider.FnExpenseDocumentQuery.GetExpenseDocumentByDocumentID(scgDocument.DocumentID); if (scgDocument.DocumentType.DocumentTypeID.Equals(DocumentTypeID.ExpenseForeignDocument)) { FnExpenseDocument expense = ScgeAccountingQueryProvider.FnExpenseDocumentQuery.GetExpenseDocumentByDocumentID(scgDocument.DocumentID); //EmailValueObject expenseDoc = new EmailValueObject(); // expenseDoc.RequestID = expense.Document.DocumentNo; smsDto.Amount = expense.TotalExpense.ToString(); smsDto.Content = BuildContentBody(smsDto, SMSContenFormat.SMS01, SMSBusinessCase.ExpenseDomesticDocument); } else { if (expenseDocument != null) { smsDto.Amount = expenseDocument.TotalExpense.ToString(); } else { smsDto.Amount = "0"; } smsDto.Content = BuildContentBody(smsDto, SMSContenFormat.SMS01, SMSBusinessCase.ExpenseDomesticDocument); } this.sendSMSStatus = SMSService.Send(smsDto); } else if (scgDocument.DocumentType.DocumentTypeID.Equals(DocumentTypeID.TADocumentDomestic) || scgDocument.DocumentType.DocumentTypeID.Equals(DocumentTypeID.TADocumentForeign)) { TADocument ta = ScgeAccountingQueryProvider.TADocumentQuery.GetTADocumentByDocumentID(scgDocument.DocumentID); IList <Advance> advanceList = ScgeAccountingQueryProvider.AvAdvanceDocumentQuery.FindAdvanceDocumentByTADocumentID(ta.TADocumentID); if (advanceList.Count > 0) { IList <AdvanceData> advanceDataList = new List <AdvanceData>(); foreach (Advance advance in advanceList) { AdvanceData advanceData = new AdvanceData(); AvAdvanceDocument advDocument = ScgeAccountingQueryProvider.AvAdvanceDocumentQuery.FindByIdentity(advance.AdvanceID); if (advDocument != null) { //advanceData.RequestID = advDocument.DocumentID.RequesterID; advanceData.Subject = advDocument.DocumentID.Subject; advanceData.RequestDateOfAdvance = advDocument.RequestDateOfAdvance; advanceData.Amount = advDocument.Amount; if (advDocument.AdvanceType.Equals("FR")) { IList <AvAdvanceItem> advItemList = ScgeAccountingQueryProvider.AvAdvanceItemQuery.FindByAvAdvanceItemAdvanceID(advDocument.AdvanceID); IList <SMSCurrencyDTO> advanceFrList = new List <SMSCurrencyDTO>(); foreach (AvAdvanceItem advItem in advItemList) { SMSCurrencyDTO advanceFR = new SMSCurrencyDTO(); advanceFR.Currency = advItem.CurrencyID.Symbol; advanceFR.Amount = advItem.Amount.ToString(); advanceFrList.Add(advanceFR); } smsDto.CurrencyItemList = advanceFrList; } advanceDataList.Add(advanceData); } } // html.SetAttribute("advList", advanceDataList); } // html.SetAttribute("ta", taDoc); smsDto.Content = BuildContentBody(smsDto, SMSContenFormat.SMS01, SMSBusinessCase.TADocumentDomestic); this.sendSMSStatus = SMSService.Send(smsDto); } } } } catch (Exception ex) { Utilities.WriteLogs("SendSMS01 : " + ex.Message, "smslog", "Logs", "txt"); } }