protected void ctlRemittanceGridview_DataBound(object sender, EventArgs e) { ExpenseDataSet expenseDS = (ExpenseDataSet)TransactionService.GetDS(this.TransactionId); ExpenseDataSet.FnExpenseDocumentRow row = expenseDS.FnExpenseDocument.FindByExpenseID(this.ExpDocumentID); SS.Standard.WorkFlow.DTO.WorkFlow wf = null; int Ordinal = 0; if (Request["wfid"] != null) { WorkFlowID = UIHelper.ParseLong(Request["wfid"].ToString()); wf = WorkFlowQueryProvider.WorkFlowQuery.FindByIdentity(WorkFlowID); CurrentState = wf.CurrentState.Name; Ordinal = wf.CurrentState.Ordinal; } DbCurrency mainCurrency = null; if (!row.IsMainCurrencyIDNull()) { mainCurrency = SsDbQueryProvider.DbCurrencyQuery.FindByIdentity(row.MainCurrencyID); } if (mainCurrency != null) { ctlRemittanceGridview.Columns[7].HeaderText = string.Format(GetProgramMessage("ctlLblRemittanceMainAmount"), "(" + mainCurrency.Symbol + ")"); } string expenseType = FnExpenseDocumentService.GetExpenseType(this.ExpDocumentID, this.TransactionId); bool isRepOffice = row.IsIsRepOfficeNull() ? false : row.IsRepOffice; if (!expenseType.Equals(ZoneType.Domestic)) { if (isRepOffice) { if (CurrentState.Equals(WorkFlowStateFlag.WaitVerify) || Ordinal > 5) { ctlRemittanceGridview.Columns[7].Visible = true; ctlRemittanceGridview.Columns[8].Visible = true; } else { ctlRemittanceGridview.Columns[7].Visible = true; ctlRemittanceGridview.Columns[8].Visible = false; } } else { ctlRemittanceGridview.Columns[7].Visible = false; ctlRemittanceGridview.Columns[8].Visible = true; } } }
protected void Advance_OnObjectLookUpCalling(object sender, ObjectLookUpCallingEventArgs e) { UserControls.LOV.AV.AdvanceLookup advanceLookUp = sender as UserControls.LOV.AV.AdvanceLookup; ExpenseDataSet expenseDS = (ExpenseDataSet)TransactionService.GetDS(this.TransactionId); ExpenseDataSet.FnExpenseDocumentRow row = expenseDS.FnExpenseDocument.FindByExpenseID(this.ExpDocumentID); if (!row.IsMainCurrencyIDNull()) { this.MainCurrencyID = row.MainCurrencyID; } if (!row.IsPBIDNull()) { this.PBID = row.PBID; } this.IsRepOffice = row.IsIsRepOfficeNull() ? false : row.IsRepOffice; advanceLookUp.CompanyID = CompanyID; // UIHelper.ParseLong(((LOV.SCG.DB.CompanyField)this.Parent.Parent.Parent.Parent.FindControl("ctlCompanyField")).CompanyID); advanceLookUp.RequesterID = RequesterID; // UIHelper.ParseLong(((ActorData)this.Parent.Parent.Parent.Parent.FindControl("ctlRequesterData")).UserID); advanceLookUp.AdvanceType = FnExpenseDocumentService.GetExpenseType(this.ExpDocumentID, this.TransactionId); advanceLookUp.IsRelateWithRemittanceButNotInExpense = true; advanceLookUp.PBID = this.PBID; advanceLookUp.MainCurrencyID = this.MainCurrencyID; advanceLookUp.IsRepOffice = this.IsRepOffice; if (!string.IsNullOrEmpty(Request.Params["wfid"]) && UIHelper.ParseInt(Request.Params["wfid"]) > 0) { long workFlowID = UIHelper.ParseLong(Request.Params["wfid"]); SS.Standard.WorkFlow.DTO.WorkFlow wf = WorkFlowQueryProvider.WorkFlowQuery.FindByIdentity(workFlowID); if (wf != null && wf.CurrentState != null && wf.CurrentState.Name != null && wf.CurrentState.Name.Equals(WorkFlowStateFlag.Draft)) { advanceLookUp.CurrentUserID = UserAccount.UserID; } } else { advanceLookUp.CurrentUserID = UserAccount.UserID; } }
protected void ctlAdvanceGridview_DataBound(object sender, EventArgs e) { ExpenseDataSet expenseDS = (ExpenseDataSet)TransactionService.GetDS(this.TransactionId); if (expenseDS != null) { ExpenseDataSet.FnExpenseDocumentRow row = expenseDS.FnExpenseDocument.FindByExpenseID(this.ExpDocumentID); SS.Standard.WorkFlow.DTO.WorkFlow wf = null; int Ordinal = 0; if (Request["wfid"] != null) { WorkFlowID = UIHelper.ParseLong(Request["wfid"].ToString()); wf = WorkFlowQueryProvider.WorkFlowQuery.FindByIdentity(WorkFlowID); CurrentState = wf.CurrentState.Name; Ordinal = wf.CurrentState.Ordinal; } //DbCurrency localCurrency = null; DbCurrency mainCurrency = null; //if (!row.IsLocalCurrencyIDNull()) //{ // localCurrency = SsDbQueryProvider.DbCurrencyQuery.FindByIdentity(row.LocalCurrencyID); //} if (!row.IsMainCurrencyIDNull()) { mainCurrency = SsDbQueryProvider.DbCurrencyQuery.FindByIdentity(row.MainCurrencyID); } //if (localCurrency != null) //{ // ctlAdvanceGridView.Columns[4].HeaderText = string.Format(GetMessage("AmountCurrencyHeaderColumn"), "(" + localCurrency.Symbol + ")"); //} //else //{ ctlAdvanceGridView.Columns[4].HeaderText = string.Format(GetMessage("AmountCurrencyHeaderColumn"), ""); //} if (mainCurrency != null) { ctlAdvanceGridView.Columns[5].HeaderText = string.Format(GetMessage("AmountCurrencyHeaderColumn"), "(" + mainCurrency.Symbol + ")"); ctlAdvanceGridView.HeaderRow.Cells[5].Text = string.Format(GetMessage("AmountCurrencyHeaderColumn"), "(" + mainCurrency.Symbol + ")"); } else { ctlAdvanceGridView.Columns[5].HeaderText = string.Format(GetMessage("AmountCurrencyHeaderColumn"), ""); } string expenseType = FnExpenseDocumentService.GetExpenseType(this.ExpDocumentID, this.TransactionId); bool isRepOffice = row.IsIsRepOfficeNull() ? false : row.IsRepOffice; if (expenseType.Equals(ZoneType.Domestic)) { if (isRepOffice) { if (CurrentState.Equals(WorkFlowStateFlag.WaitVerify) || Ordinal > 5) { ctlAdvanceGridView.Columns[4].Visible = false; ctlAdvanceGridView.Columns[5].Visible = true; ctlAdvanceGridView.Columns[6].Visible = true; } else { ctlAdvanceGridView.Columns[4].Visible = false; ctlAdvanceGridView.Columns[5].Visible = true; ctlAdvanceGridView.Columns[6].Visible = false; } } else { ctlAdvanceGridView.Columns[4].Visible = false; ctlAdvanceGridView.Columns[5].Visible = false; ctlAdvanceGridView.Columns[6].Visible = true; } } else { if (isRepOffice) { if (CurrentState.Equals(WorkFlowStateFlag.WaitVerify) || Ordinal > 5) { ctlAdvanceGridView.Columns[4].Visible = false; ctlAdvanceGridView.Columns[5].Visible = true; ctlAdvanceGridView.Columns[6].Visible = true; } else { ctlAdvanceGridView.Columns[4].Visible = false; ctlAdvanceGridView.Columns[5].Visible = true; ctlAdvanceGridView.Columns[6].Visible = false; } } else { ctlAdvanceGridView.Columns[4].Visible = false; ctlAdvanceGridView.Columns[5].Visible = false; ctlAdvanceGridView.Columns[6].Visible = true; } } } if (ctlAdvanceGridView.Rows.Count == 0) { ctlTANoLookup.Enabled = true; ctlDeleteTA.Enabled = true; //this.ClearRemittanceGridview(); } }
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); }