public void DeleteItemOnTransaction(Guid txId, long itemId) { ExpenseDataSet expDs = (ExpenseDataSet)TransactionService.GetDS(txId); ExpenseDataSet.FnExpenseInvoiceItemRow row = expDs.FnExpenseInvoiceItem.FindByInvoiceItemID(itemId); row.Delete(); }
public void AddMileageInvoiceItem(FnExpenseInvoiceItem item, Guid txId) { ExpenseDataSet ds = (ExpenseDataSet)TransactionService.GetDS(txId); ExpenseDataSet.FnExpenseInvoiceItemRow row = ds.FnExpenseInvoiceItem.NewFnExpenseInvoiceItemRow(); if (item.Invoice != null) { row.InvoiceID = item.Invoice.InvoiceID; } if (item.CostCenter != null) { row.CostCenterID = item.CostCenter.CostCenterID; } if (item.Account != null) { row.AccountID = item.Account.AccountID; } if (item.IO != null) { row.IOID = item.IO.IOID; } if (item.CurrencyID.HasValue) { row.CurrencyID = item.CurrencyID.Value; } if (item.Amount.HasValue) { row.Amount = item.Amount.Value; } if (item.ExchangeRate.HasValue) { row.ExchangeRate = item.ExchangeRate.Value; } if (item.CurrencyAmount.HasValue) { row.CurrencyAmount = item.CurrencyAmount.Value; } row.SaleOrder = item.SaleOrder; row.SaleItem = item.SaleItem; row.Description = item.Description; row.ReferenceNo = item.ReferenceNo; row.Active = true; row.CreBy = UserAccount.UserID; row.CreDate = DateTime.Now; row.UpdBy = UserAccount.UserID; row.UpdDate = DateTime.Now; row.UpdPgm = UserAccount.CurrentProgramCode; ds.FnExpenseInvoiceItem.AddFnExpenseInvoiceItemRow(row); }
public void UpdateDomesticInvoiceItemOnTransaction(FnExpenseInvoiceItem item, Guid txId) { Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors(); if (item.CostCenter == null) { errors.AddError("InvoiceItem.Error", new Spring.Validation.ErrorMessage("RequiredCostCenter")); } if (item.Account == null) { errors.AddError("InvoiceItem.Error", new Spring.Validation.ErrorMessage("RequiredAccountCode")); } if (item.IO == null) { errors.AddError("InvoiceItem.Error", new Spring.Validation.ErrorMessage("RequiredIO")); } if (!item.Amount.HasValue) { errors.AddError("InvoiceItem.Error", new Spring.Validation.ErrorMessage("RequiredAmount")); } if (!errors.IsEmpty) { throw new ServiceValidationException(errors); } ExpenseDataSet ds = (ExpenseDataSet)TransactionService.GetDS(txId); ExpenseDataSet.FnExpenseInvoiceItemRow row = ds.FnExpenseInvoiceItem.FindByInvoiceItemID(item.InvoiceItemID); //row.ExpenseID = item.Expense.ExpenseID; //row.InvoiceID = item.Invoice.InvoiceID; row.CostCenterID = item.CostCenter.CostCenterID; row.AccountID = item.Account.AccountID; row.IOID = item.IO.IOID; if (item.Amount.HasValue) { row.Amount = (decimal)item.Amount.Value; } //if (item.ExchangeRate.HasValue) // row.ExchangeRate = (decimal)item.ExchangeRate; row.Description = item.Description; row.ReferenceNo = item.ReferenceNo; row.CreBy = item.CreBy; row.CreDate = item.CreDate; row.UpdBy = item.UpdBy; row.UpdDate = item.UpdDate; row.UpdPgm = item.UpdPgm; row.Active = true; ds.FnExpenseInvoiceItem.AddFnExpenseInvoiceItemRow(row); }
public string DisplayCurrency(Object obj) { ExpenseDataSet.FnExpenseInvoiceItemRow row = (ExpenseDataSet.FnExpenseInvoiceItemRow)obj; if (!string.IsNullOrEmpty(row["CurrencyID"].ToString())) { DbCurrency currency = SsDbQueryProvider.DbCurrencyQuery.FindByIdentity(UIHelper.ParseShort(row["CurrencyID"].ToString())); if (currency != null) { return(Server.HtmlEncode(currency.Symbol)); } } return(string.Empty); }
public string DisplayCostCenter(Object obj) { ExpenseDataSet.FnExpenseInvoiceItemRow row = (ExpenseDataSet.FnExpenseInvoiceItemRow)obj; if (!string.IsNullOrEmpty(row["CostCenterID"].ToString())) { DbCostCenter costCenter = ScgDbQueryProvider.DbCostCenterQuery.FindByIdentity(row.CostCenterID); if (costCenter != null) { return(Server.HtmlEncode(costCenter.CostCenterCode)); } } return(string.Empty); }
public string DisplayAccount(Object obj) { ExpenseDataSet.FnExpenseInvoiceItemRow row = (ExpenseDataSet.FnExpenseInvoiceItemRow)obj; if (!string.IsNullOrEmpty(row["AccountID"].ToString())) { IList <AccountLang> account = ScgDbQueryProvider.DbAccountLangQuery.FindByDbAccountLangKey(row.AccountID, UserAccount.CurrentLanguageID); if (account.Count > 0) { return(Server.HtmlEncode(String.Format("{0}-{1}", account[0].AccountCode, account[0].AccountName))); } } return(string.Empty); }
public string DisplayIO(Object obj) { ExpenseDataSet.FnExpenseInvoiceItemRow row = (ExpenseDataSet.FnExpenseInvoiceItemRow)obj; if (!string.IsNullOrEmpty(row["IOID"].ToString())) { DbInternalOrder io = ScgDbQueryProvider.DbIOQuery.FindByIdentity(row.IOID); if (io != null) { return(Server.HtmlEncode(io.IONumber)); } } return(string.Empty); }
public void AddBeginRowInvoiceItemOnTransaction(FnExpenseInvoiceItem item, Guid txId) { ExpenseDataSet ds = (ExpenseDataSet)TransactionService.GetDS(txId); ExpenseDataSet.FnExpenseInvoiceItemRow row = ds.FnExpenseInvoiceItem.NewFnExpenseInvoiceItemRow(); row.InvoiceID = item.Invoice.InvoiceID; row.CreBy = item.CreBy; row.CreDate = item.CreDate; row.UpdBy = item.UpdBy; row.UpdDate = item.UpdDate; row.UpdPgm = item.UpdPgm; row.Active = true; ds.FnExpenseInvoiceItem.AddFnExpenseInvoiceItemRow(row); }
public void AddRecommendInvoiceItemOnTransaction(long invoiceId, string expenseType, IList <FnExpenseInvoiceItem> recommendList, Guid txId) { Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors(); ExpenseDataSet ds = (ExpenseDataSet)TransactionService.GetDS(txId); short? mainCurrencyID = null; short? localCurrencyID = null; if (ds.FnExpenseDocument.Rows.Count > 0) { if (!string.IsNullOrEmpty(ds.FnExpenseDocument.Rows[0]["MainCurrencyID"].ToString()) && Convert.ToInt16(ds.FnExpenseDocument.Rows[0]["MainCurrencyID"].ToString()) > 0) { mainCurrencyID = Convert.ToInt16(ds.FnExpenseDocument.Rows[0]["MainCurrencyID"].ToString()); } if (!string.IsNullOrEmpty(ds.FnExpenseDocument.Rows[0]["LocalCurrencyID"].ToString()) && Convert.ToInt16(ds.FnExpenseDocument.Rows[0]["MainCurrencyID"].ToString()) > 0) { localCurrencyID = Convert.ToInt16(ds.FnExpenseDocument.Rows[0]["LocalCurrencyID"].ToString()); } } foreach (FnExpenseInvoiceItem item in recommendList) { ExpenseDataSet.FnExpenseInvoiceItemRow row = ds.FnExpenseInvoiceItem.NewFnExpenseInvoiceItemRow(); row.InvoiceID = invoiceId; if (item.CostCenter == null) { errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("RequiredCostCenter")); } if (item.Account == null) { errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("RequiredAccountID")); } if (!errors.IsEmpty) { FnExpenseInvoiceService.DeleteInvoiceOnTransaction(invoiceId, txId); throw new ServiceValidationException(errors); } if (item.CostCenter != null) { row.CostCenterID = item.CostCenter.CostCenterID; } if (item.Account != null) { row.AccountID = item.Account.AccountID; } if (item.IO != null) { row.IOID = item.IO.IOID; } if (item.CurrencyID.HasValue) { row.CurrencyID = item.CurrencyID.Value; } row.Description = item.Description; if (item.CurrencyAmount.HasValue) { row.CurrencyAmount = item.CurrencyAmount.Value; } if (item.Amount.HasValue) { row.Amount = item.Amount.Value; } if (item.ExchangeRate.HasValue) { row.ExchangeRate = item.ExchangeRate.Value; } if (mainCurrencyID.HasValue) { row.MainCurrencyID = mainCurrencyID.Value; } if (item.LocalCurrencyAmount.HasValue) { row.LocalCurrencyAmount = (decimal)item.LocalCurrencyAmount.Value; } if (mainCurrencyID == localCurrencyID) { row.MainCurrencyAmount = (double)row.LocalCurrencyAmount; } row.ReferenceNo = item.ReferenceNo; row.Active = true; row.CreBy = UserAccount.UserID; row.CreDate = DateTime.Now; row.UpdBy = UserAccount.UserID; row.UpdDate = DateTime.Now; row.UpdPgm = UserAccount.CurrentProgramCode; ds.FnExpenseInvoiceItem.AddFnExpenseInvoiceItemRow(row); } }
public void AddInvoiceItemOnTransaction(FnExpenseInvoiceItem item, Guid txId, string expenseType) { bool isRepOffice = false; Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors(); ExpenseDataSet ds = (ExpenseDataSet)TransactionService.GetDS(txId); ExpenseDataSet.FnExpenseDocumentRow expRow = null; long documentId = 0; if (item.Invoice != null && item.Invoice.Expense != null) { expRow = ds.FnExpenseDocument.FindByExpenseID(item.Invoice.Expense.ExpenseID); documentId = expRow == null ? 0 : expRow.DocumentID; if (!expRow.IsIsRepOfficeNull()) { isRepOffice = expRow.IsRepOffice; } } // Validate CostCenter. if (item.CostCenter == null) { errors.AddError("InvoiceItem.Error", new Spring.Validation.ErrorMessage("RequiredCostCenter")); } else { if (ScgDbQueryProvider.DbCostCenterQuery.FindByIdentity(item.CostCenter.CostCenterID) == null) { errors.AddError("InvoiceItem.Error", new Spring.Validation.ErrorMessage("RequiredCostCenter")); } } // Validate Account. if (item.Account == null) { errors.AddError("InvoiceItem.Error", new Spring.Validation.ErrorMessage("RequiredAccountID")); } else { if (ScgDbQueryProvider.DbAccountQuery.FindByIdentity(item.Account.AccountID) == null) { errors.AddError("InvoiceItem.Error", new Spring.Validation.ErrorMessage("RequiredAccountID")); } } if (!string.IsNullOrEmpty(item.SaleOrder) && item.SaleOrder.Length < 10) { errors.AddError("InvoiceItem.Error", new Spring.Validation.ErrorMessage("SaleOrder_Has_10_Digit")); } if (expenseType.Equals(ZoneType.Domestic)) { // Validate Amount. if (!isRepOffice) { if (!item.Amount.HasValue || (item.Amount.HasValue && item.Amount.Value == 0)) { errors.AddError("InvoiceItem.Error", new Spring.Validation.ErrorMessage("RequiredAmount")); } } else { if (!item.LocalCurrencyAmount.HasValue || (item.LocalCurrencyAmount.HasValue && item.LocalCurrencyAmount.Value == 0)) { errors.AddError("InvoiceItem.Error", new Spring.Validation.ErrorMessage("RequiredAmount")); } } } else if (expenseType.Equals(ZoneType.Foreign)) { // Validate Currency. if (!item.CurrencyID.HasValue || (item.CurrencyID.HasValue && item.CurrencyID.Value == 0)) { errors.AddError("InvoiceItem.Error", new Spring.Validation.ErrorMessage("RequiredCurrency")); } // Validate Currency Amount. if (!item.CurrencyAmount.HasValue || (item.CurrencyAmount.HasValue && item.CurrencyAmount.Value == 0)) { errors.AddError("InvoiceItem.Error", new Spring.Validation.ErrorMessage("RequiredAmount")); } // Validate ExchangeRate. if (!item.ExchangeRate.HasValue) { errors.AddError("InvoiceItem.Error", new Spring.Validation.ErrorMessage("RequiredExchangeRate")); } else if ((item.ExchangeRate.HasValue) && (item.ExchangeRate.Value == 0)) { errors.AddError("InvoiceItem.Error", new Spring.Validation.ErrorMessage("RequiredExchangeRate")); } } if (!errors.IsEmpty) { throw new ServiceValidationException(errors); } ExpenseDataSet.FnExpenseInvoiceItemRow row = ds.FnExpenseInvoiceItem.NewFnExpenseInvoiceItemRow(); if (item.Invoice != null) { row.InvoiceID = item.Invoice.InvoiceID; } if (item.CostCenter != null) { row.CostCenterID = item.CostCenter.CostCenterID; } else { row.SetCostCenterIDNull(); } row.AccountID = item.Account.AccountID; if (item.IO != null) { row.IOID = item.IO.IOID; } if (item.CurrencyID.HasValue) { row.CurrencyID = item.CurrencyID.Value; } if (item.ExchangeRate.HasValue) { row.ExchangeRate = item.ExchangeRate.Value; } if (item.CurrencyAmount.HasValue) { row.CurrencyAmount = item.CurrencyAmount.Value; } if (item.LocalCurrencyAmount.HasValue) { row.LocalCurrencyAmount = (decimal)item.LocalCurrencyAmount.Value; } if (item.MainCurrencyAmount.HasValue) { row.MainCurrencyAmount = item.MainCurrencyAmount.Value; } if (expenseType.Equals(ZoneType.Foreign) && !isRepOffice) { row.Amount = (double)Math.Round((decimal)(item.CurrencyAmount.Value * item.ExchangeRate.Value), 2, MidpointRounding.AwayFromZero); } else { if (item.Amount.HasValue) { row.Amount = item.Amount.Value; } } row.SaleOrder = item.SaleOrder; row.SaleItem = item.SaleItem; row.Description = item.Description; row.ReferenceNo = item.ReferenceNo; row.Active = true; row.CreBy = UserAccount.UserID; row.CreDate = DateTime.Now; row.UpdBy = UserAccount.UserID; row.UpdDate = DateTime.Now; row.UpdPgm = UserAccount.CurrentProgramCode; ds.FnExpenseInvoiceItem.AddFnExpenseInvoiceItemRow(row); }
public void PrepareDataToDataset(ExpenseDataSet ds, long invoiceId) { IList <FnExpenseInvoiceItem> items = ScgeAccountingQueryProvider.FnExpenseInvoiceItemQuery.GetInvoiceItemByInvoiceID(invoiceId); //#region Validate //Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors(); //if (invoice == null) //{ // //errors.AddError("Error", new Spring.Validation.ErrorMessage("NoDocumentFound")); //} //if (!errors.IsEmpty) throw new ServiceValidationException(errors); //#endregion // Set data to invoice row in Dataset. foreach (FnExpenseInvoiceItem item in items) { ExpenseDataSet.FnExpenseInvoiceItemRow itemRow = ds.FnExpenseInvoiceItem.NewFnExpenseInvoiceItemRow(); itemRow.InvoiceItemID = item.InvoiceItemID; itemRow.InvoiceID = invoiceId; if (item.CostCenter != null) { itemRow.CostCenterID = item.CostCenter.CostCenterID; } if (item.Account != null) { itemRow.AccountID = item.Account.AccountID; } if (item.IO != null) { itemRow.IOID = item.IO.IOID; } if (item.CurrencyID.HasValue) { itemRow.CurrencyID = item.CurrencyID.Value; } itemRow.Description = item.Description; if (item.CurrencyAmount.HasValue) { itemRow.CurrencyAmount = item.CurrencyAmount.Value; } if (item.Amount.HasValue) { itemRow.Amount = item.Amount.Value; } if (item.ExchangeRate.HasValue) { itemRow.ExchangeRate = item.ExchangeRate.Value; } if (item.MainCurrencyID.HasValue) { itemRow.MainCurrencyID = item.MainCurrencyID.Value; } if (item.LocalCurrencyAmount.HasValue) { itemRow.LocalCurrencyAmount = (decimal)item.LocalCurrencyAmount.Value; } if (item.MainCurrencyAmount.HasValue) { itemRow.MainCurrencyAmount = item.MainCurrencyAmount.Value; } itemRow.ReferenceNo = item.ReferenceNo; itemRow.VendorCodeAP = item.VendorCodeAP; itemRow.SaleOrder = item.SaleOrder; itemRow.SaleItem = item.SaleItem; itemRow.Active = item.Active; itemRow.CreBy = item.CreBy; itemRow.CreDate = item.CreDate; itemRow.UpdBy = item.UpdBy; itemRow.UpdDate = item.UpdDate; itemRow.UpdPgm = item.UpdPgm; // Add invoice row to documentDataset. ds.FnExpenseInvoiceItem.AddFnExpenseInvoiceItemRow(itemRow); } }