public void DeleteInvoiceOnTransaction(FnExpenseInvoice invoice, Guid txId) { ExpenseDataSet expDs = (ExpenseDataSet)TransactionService.GetDS(txId); ExpenseDataSet.FnExpenseInvoiceRow row = expDs.FnExpenseInvoice.FindByInvoiceID(invoice.InvoiceID); expDs.FnExpenseInvoice.RemoveFnExpenseInvoiceRow(row); }
public string DisplayVendor(Object obj) { ExpenseDataSet.FnExpenseInvoiceRow row = (ExpenseDataSet.FnExpenseInvoiceRow)obj; if (!string.IsNullOrEmpty(row["VendorCode"].ToString()) || !string.IsNullOrEmpty(row["VendorName"].ToString())) { return(Server.HtmlEncode(String.Format("{0}-{1}", row["VendorCode"].ToString(), row["VendorName"].ToString()))); } return(string.Empty); }
public long AddInvoiceOnTransaction(FnExpenseInvoice invoice, Guid txId) { ExpenseDataSet ds = (ExpenseDataSet)TransactionService.GetDS(txId); ExpenseDataSet.FnExpenseInvoiceRow row = ds.FnExpenseInvoice.NewFnExpenseInvoiceRow(); ds.FnExpenseInvoice.AddFnExpenseInvoiceRow(row); return(row.InvoiceID); }
private string ShowExpenseGeneral(long invoiceId) { string url; ExpenseDataSet expDs = (ExpenseDataSet)TransactionService.GetDS(TransactionId); ExpenseDataSet.FnExpenseDocumentRow expenseDocumentRow = expDs.FnExpenseDocument.FindByExpenseID(this.ExpDocumentID); ExpenseDataSet.FnExpenseInvoiceRow invoiceRows = expDs.FnExpenseInvoice.FindByInvoiceID(invoiceId); if (invoiceRows != null) { url = String.Format(string.Concat(invoiceURL, "&invId={4}"), this.TransactionId, this.ExpDocumentID, this.DocumentType, expenseDocumentRow.DocumentID, invoiceId); } else { url = String.Format(invoiceURL, this.TransactionId, this.ExpDocumentID, this.DocumentType, expenseDocumentRow.DocumentID); } return(url); }
public long AddBeginRowInvoiceOnTransaction(FnExpenseInvoice invoice, Guid txId) { ExpenseDataSet ds = (ExpenseDataSet)TransactionService.GetDS(txId); ExpenseDataSet.FnExpenseInvoiceRow row = ds.FnExpenseInvoice.NewFnExpenseInvoiceRow(); row.InvoiceType = invoice.InvoiceType; row.Active = invoice.Active; row.CreBy = invoice.CreBy; row.CreDate = invoice.CreDate; row.UpdBy = invoice.UpdBy; row.UpdDate = invoice.UpdDate; row.UpdPgm = invoice.UpdPgm; ds.FnExpenseInvoice.AddFnExpenseInvoiceRow(row); return(row.InvoiceID); }
public string DisplayInvoiceDate(Object obj) { ExpenseDataSet.FnExpenseInvoiceRow row = (ExpenseDataSet.FnExpenseInvoiceRow)obj; return(Server.HtmlEncode(UIHelper.BindDate(row["InvoiceDate"].ToString()))); }
protected void ctlRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) { string url = string.Empty; if (e.Item.DataItem != null) { ExpenseDataSet expDs = (ExpenseDataSet)TransactionService.GetDS(TransactionId); ExpenseDataSet.FnExpenseInvoiceRow invoice = (ExpenseDataSet.FnExpenseInvoiceRow)e.Item.DataItem; ExpenseDataSet.FnExpenseDocumentRow expenseDocumentRow = expDs.FnExpenseDocument.FindByExpenseID(this.ExpDocumentID); PopupCaller popupEdit = (PopupCaller)e.Item.FindControl("ctlEditPopupCaller"); PopupCaller popupView = (PopupCaller)e.Item.FindControl("ctlViewPopupCaller"); LinkButton edit = (LinkButton)e.Item.FindControl("ctlEdit"); LinkButton delete = (LinkButton)e.Item.FindControl("ctlDelete"); LinkButton view = (LinkButton)e.Item.FindControl("ctlView"); Literal totalBaseAmount = (Literal)e.Item.FindControl("ctlTotalAmount"); Literal totalNetAmount = (Literal)e.Item.FindControl("ctlNetAmount"); if (IsRepOffice) { totalBaseAmount.Text = UIHelper.BindDecimal(invoice.TotalBaseAmountLocalCurrency.ToString()); totalNetAmount.Text = UIHelper.BindDecimal(invoice.NetAmountLocalCurrency.ToString()); } else { totalBaseAmount.Text = UIHelper.BindDecimal(invoice.TotalBaseAmount.ToString()); totalNetAmount.Text = UIHelper.BindDecimal(invoice.NetAmount.ToString()); } if (!invoice.IsInvoiceDocumentTypeNull() && invoice.InvoiceDocumentType.Equals(InvoiceType.Perdiem)) { popupEdit.URL = ShowPerdiemPopup(FlagEnum.EditFlag, invoice.InvoiceID); popupView.URL = ShowPerdiemPopup(FlagEnum.ViewFlag, invoice.InvoiceID); } if (!invoice.IsInvoiceDocumentTypeNull() && invoice.InvoiceDocumentType.Equals(InvoiceType.General)) { url = ShowExpenseGeneral(invoice.InvoiceID); popupEdit.URL = url.Replace("[mode]", FlagEnum.EditFlag); popupView.URL = url.Replace("[mode]", FlagEnum.ViewFlag); } // Show Mileage. if (!invoice.IsInvoiceDocumentTypeNull() && invoice.InvoiceDocumentType.Equals(InvoiceType.Mileage)) { popupEdit.URL = ShowMileagePopup(FlagEnum.EditFlag); popupView.URL = ShowMileagePopup(FlagEnum.ViewFlag); } SS.Standard.WorkFlow.DTO.WorkFlow workflow = SS.Standard.WorkFlow.Query.WorkFlowQueryProvider.WorkFlowQuery.GetWorkFlowByDocumentID(this.DocumentID); if (InitialFlag.Equals(FlagEnum.ViewFlag)) { edit.Visible = false; delete.Visible = false; view.Visible = true; } else { edit.Visible = true; view.Visible = false; if (!invoice.IsInvoiceDocumentTypeNull() && invoice.InvoiceDocumentType.Equals(InvoiceType.Mileage)) { delete.Visible = false; } else if (workflow != null && workflow.CurrentState.Name.Equals(WorkFlowStateFlag.Hold)) { delete.Visible = false; } else { delete.Visible = true; } } Literal seq = (Literal)e.Item.FindControl("ctlSeq"); seq.Text += e.Item.ItemIndex + 1; BaseGridView gridview = (BaseGridView)e.Item.FindControl("ctlInvoiceItem"); string filter = String.Format("InvoiceID = {0}", invoice.InvoiceID); gridview.DataSource = expDs.FnExpenseInvoiceItem.Select(filter); gridview.DataBind(); } }
public void UpdateInvoiceItemByInvoiceID(Guid txID, long invoiceId, FnExpenseDocument expenseDocument) { ExpenseDataSet expDS = (ExpenseDataSet)TransactionService.GetDS(txID); ExpenseDataSet.FnExpenseInvoiceRow invoiceRow = expDS.FnExpenseInvoice.FindByInvoiceID(invoiceId); ExpenseDataSet.FnExpenseInvoiceItemRow[] itemRows = (ExpenseDataSet.FnExpenseInvoiceItemRow[])expDS.FnExpenseInvoiceItem.Select(); DbAccount account = new DbAccount(); foreach (ExpenseDataSet.FnExpenseInvoiceItemRow row in itemRows) { account = ScgDbQueryProvider.DbAccountQuery.FindByIdentity(row.AccountID); } string filter = String.Format("InvoiceID = {0}", invoiceId); DataRow[] rows = expDS.FnExpenseInvoiceItem.Select(filter); Dbpb pb = null; double totalLocalCurrencyAmount = 0; double totalMainCurrencyAmount = 0; double totalAmountTHB = 0; bool isRepOffice = expenseDocument.IsRepOffice.HasValue ? expenseDocument.IsRepOffice.Value : false; if (expenseDocument.PB != null) { pb = ScgDbQueryProvider.DbPBQuery.FindByIdentity(expenseDocument.PB.Pbid); } foreach (DataRow row in rows) { FnExpenseInvoiceItem item = new FnExpenseInvoiceItem(); item.LoadFromDataRow(row); item.Invoice.Expense = expenseDocument; if (account.SaveAsVendor) { if (invoiceRow.isVAT) { if (!invoiceRow.IsVendorIDNull()) { item.VendorCodeAP = invoiceRow.VendorCode; } } } if (isRepOffice) { if (expenseDocument.MainCurrencyID.HasValue) { item.MainCurrencyID = expenseDocument.MainCurrencyID.Value; } if (expenseDocument.ExchangeRateForLocalCurrency.HasValue && expenseDocument.ExchangeRateForLocalCurrency.Value != 0) { if (item.LocalCurrencyAmount.HasValue) { if (expenseDocument.MainCurrencyID == expenseDocument.LocalCurrencyID) { item.MainCurrencyAmount = item.LocalCurrencyAmount; } else { item.MainCurrencyAmount = (double)Math.Round((decimal)(item.LocalCurrencyAmount.Value / expenseDocument.ExchangeRateForLocalCurrency.Value), 2, MidpointRounding.AwayFromZero); } totalMainCurrencyAmount += item.MainCurrencyAmount.Value; totalLocalCurrencyAmount += item.LocalCurrencyAmount.Value; } } if (expenseDocument.ExchangeRateMainToTHBCurrency.HasValue) { if (item.MainCurrencyAmount.HasValue) { item.Amount = (double)Math.Round((decimal)(item.MainCurrencyAmount * expenseDocument.ExchangeRateMainToTHBCurrency), 2, MidpointRounding.AwayFromZero); totalAmountTHB += item.Amount.Value; } } } else { if (expenseDocument.ExpenseType == ZoneType.Foreign) { //item.ExchangeRate = (double)Math.Round(Convert.ToDecimal(expenseDocument.ExchangeRateForUSDAdvance), 4, MidpointRounding.AwayFromZero); item.Amount = (double)Math.Round(Convert.ToDecimal(item.CurrencyAmount * item.ExchangeRate), 2, MidpointRounding.AwayFromZero); } totalAmountTHB += item.Amount.Value; } UpdateInvoiceItemOnTransaction(item, txID, expenseDocument.ExpenseType); } invoiceRow.BeginEdit(); if (isRepOffice) { invoiceRow.TotalAmountLocalCurrency = invoiceRow.TotalBaseAmountLocalCurrency = invoiceRow.NetAmountLocalCurrency = (decimal)totalLocalCurrencyAmount; } invoiceRow.TotalAmount = (decimal)totalAmountTHB; invoiceRow.EndEdit(); }