Exemple #1
0
 protected void grvBankProgress_RowDataBound(object sender, GridViewRowEventArgs e)
 {
     if (_presenter.ListBankPaymentApprovalProgress() != null)
     {
         if (e.Row.RowType == DataControlRowType.DataRow)
         {
             OperationalControlRequest theBankPayment = _presenter.ListBankPaymentApprovalProgress()[e.Row.RowIndex];
             if (theBankPayment.CurrentApprover != 0)
             {
                 e.Row.Cells[3].Text = _presenter.GetUser(theBankPayment.CurrentApprover).FullName;
             }
             if (theBankPayment.PaymentId > 0)
             {
                 CashPaymentRequest thePayment = _presenter.GetCashPaymentRequest(theBankPayment.PaymentId);
                 e.Row.Cells[2].Text = Guard.Against.Null(Guard.Against.Null(thePayment, " CashPaymentRequest ID: " + theBankPayment.PaymentId.ToString()).AppUser, " AppUser").FullName;
             }
             else if (theBankPayment.TravelAdvanceId > 0)
             {
                 TravelAdvanceRequest theTravel = _presenter.GetTravelAdvanceRequest(theBankPayment.TravelAdvanceId);
                 e.Row.Cells[2].Text = Guard.Against.Null(Guard.Against.Null(theTravel, " TravelAdvanceRequest ID: " + theBankPayment.TravelAdvanceId.ToString()).AppUser, " AppUser").FullName;
             }
             else if (theBankPayment.LiquidationId > 0)
             {
                 ExpenseLiquidationRequest theLiquidation = _presenter.GetExpenseLiquidationRequest(theBankPayment.LiquidationId);
                 e.Row.Cells[2].Text = Guard.Against.Null(Guard.Against.Null(theLiquidation, " ExpenseLiquidationRequest ID: " + theBankPayment.LiquidationId.ToString()).TravelAdvanceRequest.AppUser, " AppUser").FullName;
             }
             else if (theBankPayment.SettlementId > 0)
             {
                 PaymentReimbursementRequest theReimbursement = _presenter.GetPaymentReimbursementRequest(theBankPayment.SettlementId);
                 e.Row.Cells[2].Text = Guard.Against.Null(Guard.Against.Null(theReimbursement, " PaymentReimbursement ID: " + theBankPayment.SettlementId.ToString()).CashPaymentRequest.AppUser, " AppUser").FullName;
             }
         }
     }
 }
        protected void grvPaymentReimbursementRequestList_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            Button btnStatus = e.Row.FindControl("btnStatus") as Button;
            PaymentReimbursementRequest PRR = e.Row.DataItem as PaymentReimbursementRequest;

            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                if (PRR != null)
                {
                    //Bank Payment should be initiated if CHAI is the one who's going to pay (variance is Positive)
                    decimal variance = PRR.TotalAmount - PRR.ReceivableAmount;

                    if (PRR.ProgressStatus == ProgressStatus.InProgress.ToString())
                    {
                        btnStatus.BackColor = System.Drawing.ColorTranslator.FromHtml("#FFFF6C");
                    }
                    else if (PRR.PaymentReimbursementRequestStatuses.Last().ApprovalStatus == "Bank Payment" && variance > 0 && !IsBankPaymentRequested(PRR.Id) && PRR.CurrentStatus != ApprovalStatus.Rejected.ToString())
                    {
                        btnStatus.BackColor = System.Drawing.Color.Green;
                    }
                    else if (PRR.ProgressStatus == ProgressStatus.Completed.ToString())
                    {
                        btnStatus.BackColor = System.Drawing.ColorTranslator.FromHtml("#FF7251");
                    }
                }
            }
        }
        private void DeleteSettlementIfRejected()
        {
            _presenter.CurrentPaymentReimbursementRequest.CashPaymentRequest.IsLiquidated               = false;
            _presenter.CurrentPaymentReimbursementRequest.CashPaymentRequest.SettlementRejectionCount   = _presenter.CurrentPaymentReimbursementRequest.CashPaymentRequest.SettlementRejectionCount + 1;
            _presenter.CurrentPaymentReimbursementRequest.CashPaymentRequest.SettlementRejectionReasons = _presenter.CurrentPaymentReimbursementRequest.CashPaymentRequest.SettlementRejectionReasons + "," + txtRejectedReason.Text;
            _presenter.CurrentPaymentReimbursementRequest.CashPaymentRequest.SettlementRejetcedby       = _presenter.CurrentPaymentReimbursementRequest.CashPaymentRequest.SettlementRejetcedby + "," + _presenter.CurrentUser().Id;
            IList <PaymentReimbursementRequestDetail> detailList = _presenter.CurrentPaymentReimbursementRequest.PaymentReimbursementRequestDetails.ToList();

            foreach (PaymentReimbursementRequestDetail detail in detailList)
            {
                if (detail.PRAttachments != null)
                {
                    IList <PRAttachment> attachemntList = detail.PRAttachments.ToList();
                    foreach (PRAttachment attach in attachemntList)
                    {
                        string filePath = HttpContext.Current.Server.MapPath(attach.FilePath);
                        Response.Flush();
                        if (File.Exists(filePath))
                        {
                            File.Delete(filePath);
                        }
                        // Application.CompleteRequest()
                        detail.RemovePRAttachment(attach.Id);
                        //detail.PRAttachments.Remove(attach);
                    }
                }

                _presenter.CurrentPaymentReimbursementRequest.RemovePaymentReimbursementRequestDetail(detail.Id);
            }

            _presenter.CurrentPaymentReimbursementRequest.PaymentReimbursementRequestStatuses.Clear();
            PaymentReimbursementRequest request = _presenter.CurrentPaymentReimbursementRequest;

            _presenter.SaveOrUpdatePaymentReimbursementRequest(_presenter.CurrentPaymentReimbursementRequest);

            _presenter.DeletePaymentReimbursementRequest(request);
        }
 public void SaveOrUpdatePaymentReimbursementRequest(PaymentReimbursementRequest PaymentReimbursementRequest)
 {
     _controller.SaveOrUpdateEntity(PaymentReimbursementRequest);
 }
Exemple #5
0
 public void DeletePaymentReimbursementRequest(PaymentReimbursementRequest PaymentReimbursementRequest)
 {
     _controller.DeleteEntity(PaymentReimbursementRequest);
 }
        private void PopulateBankPaymentDetail()
        {
            if (Request.QueryString["Page"] != null)
            {
                if (Request.QueryString["Page"].Contains("CashPayment"))
                {
                    if (Request.QueryString["PaymentId"] != null)
                    {
                        int paymentId          = Convert.ToInt32(Request.QueryString["PaymentId"]);
                        CashPaymentRequest CPR = _presenter.GetCashPaymentRequest(paymentId);
                        if (CPR != null)
                        {
                            _presenter.CurrentOperationalControlRequest.Description = CPR.Description;
                            _presenter.CurrentOperationalControlRequest.PaymentId   = paymentId;
                            _presenter.CurrentOperationalControlRequest.Supplier    = CPR.Supplier;
                            txtOriginalRequester.Text = CPR.AppUser.FullName;
                            txtDescription.Text       = CPR.Description;

                            foreach (CashPaymentRequestDetail CPRD in CPR.CashPaymentRequestDetails)
                            {
                                OperationalControlRequestDetail OCRD = new OperationalControlRequestDetail();
                                OCRD.ItemAccount      = CPRD.ItemAccount;
                                OCRD.Project          = CPRD.Project;
                                OCRD.Grant            = CPRD.Grant;
                                OCRD.Amount           = CPRD.Amount;
                                OCRD.ActualExpendture = CPRD.Amount;
                                OCRD.AccountCode      = CPRD.AccountCode;
                                _presenter.CurrentOperationalControlRequest.TotalAmount           += OCRD.Amount;
                                _presenter.CurrentOperationalControlRequest.TotalActualExpendture += OCRD.Amount;
                                OCRD.OperationalControlRequest = _presenter.CurrentOperationalControlRequest;
                                _presenter.CurrentOperationalControlRequest.OperationalControlRequestDetails.Add(OCRD);

                                if (CPRD.CPRAttachments.Count > 0)
                                {
                                    foreach (CPRAttachment CP in CPRD.CPRAttachments)
                                    {
                                        OCRAttachment OPA = new OCRAttachment();

                                        OPA.FilePath = CP.FilePath;
                                        OPA.OperationalControlRequest = _presenter.CurrentOperationalControlRequest;
                                        _presenter.CurrentOperationalControlRequest.OCRAttachments.Add(OPA);
                                    }
                                }
                            }
                        }
                    }
                }
                else if (Request.QueryString["Page"].Contains("TravelAdvance"))
                {
                    if (Request.QueryString["PaymentId"] != null)
                    {
                        int travelAdvId          = Convert.ToInt32(Request.QueryString["PaymentId"]);
                        TravelAdvanceRequest TAR = _presenter.GetTravelAdvanceRequest(travelAdvId);
                        if (TAR != null)
                        {
                            _presenter.CurrentOperationalControlRequest.Description     = TAR.PurposeOfTravel;
                            _presenter.CurrentOperationalControlRequest.TravelAdvanceId = travelAdvId;
                            txtOriginalRequester.Text = TAR.AppUser.FullName;
                            txtDescription.Text       = TAR.PurposeOfTravel;

                            foreach (TravelAdvanceRequestDetail TARD in TAR.TravelAdvanceRequestDetails)
                            {
                                foreach (TravelAdvanceCost TAC in TARD.TravelAdvanceCosts)
                                {
                                    OperationalControlRequestDetail OCRD = new OperationalControlRequestDetail();
                                    OCRD.ItemAccount      = TAC.ItemAccount;
                                    OCRD.AccountCode      = TAC.AccountCode;
                                    OCRD.Project          = TAR.Project;
                                    OCRD.Grant            = TAR.Grant;
                                    OCRD.Amount           = TAC.Total;
                                    OCRD.ActualExpendture = TAC.Total;
                                    _presenter.CurrentOperationalControlRequest.TotalAmount           += OCRD.Amount;
                                    _presenter.CurrentOperationalControlRequest.TotalActualExpendture += OCRD.Amount;
                                    OCRD.OperationalControlRequest = _presenter.CurrentOperationalControlRequest;
                                    _presenter.CurrentOperationalControlRequest.OperationalControlRequestDetails.Add(OCRD);
                                }
                            }
                        }
                    }
                }
                else if (Request.QueryString["Page"].Contains("ExpenseLiquidation"))
                {
                    if (Request.QueryString["PaymentId"] != null)
                    {
                        int liquidationId             = Convert.ToInt32(Request.QueryString["PaymentId"]);
                        ExpenseLiquidationRequest ELR = _presenter.GetExpenseLiquidation(liquidationId);
                        if (ELR != null)
                        {
                            _presenter.CurrentOperationalControlRequest.LiquidationId = liquidationId;
                            txtOriginalRequester.Text = ELR.TravelAdvanceRequest.AppUser.FullName;
                            txtDescription.Text       = ELR.AdditionalComment;

                            OperationalControlRequestDetail OCRD = new OperationalControlRequestDetail
                            {
                                Amount      = ELR.TotalActualExpenditure - ELR.TotalTravelAdvance,
                                ItemAccount = _presenter.GetDefaultItemAccount(),
                                Project     = ELR.ExpenseLiquidationRequestDetails[0].Project,
                                Grant       = ELR.ExpenseLiquidationRequestDetails[0].Grant
                            };

                            _presenter.CurrentOperationalControlRequest.TotalAmount           = OCRD.Amount;
                            _presenter.CurrentOperationalControlRequest.TotalActualExpendture = OCRD.Amount;
                            OCRD.OperationalControlRequest = _presenter.CurrentOperationalControlRequest;
                            _presenter.CurrentOperationalControlRequest.OperationalControlRequestDetails.Add(OCRD);
                        }
                    }
                }
                else if (Request.QueryString["Page"].Contains("Settlement"))
                {
                    if (Request.QueryString["SettlementId"] != null)
                    {
                        int SettlementId = Convert.ToInt32(Request.QueryString["SettlementId"]);
                        PaymentReimbursementRequest PRR = _presenter.GetReimbursementRequest(SettlementId);
                        if (PRR != null)
                        {
                            _presenter.CurrentOperationalControlRequest.Description  = PRR.Comment;
                            _presenter.CurrentOperationalControlRequest.SettlementId = SettlementId;
                            txtDescription.Text = PRR.Comment;

                            foreach (PaymentReimbursementRequestDetail detail in PRR.PaymentReimbursementRequestDetails)
                            {
                                OperationalControlRequestDetail OCRD = new OperationalControlRequestDetail();
                                OCRD.ItemAccount = PRR.CashPaymentRequest.CashPaymentRequestDetails[0].ItemAccount;//  detail.ItemAccount;
                                OCRD.Amount      = PRR.ReceivableAmount - PRR.TotalAmount;
                                OCRD.Project     = PRR.Project;
                                OCRD.Grant       = PRR.Grant;
                                _presenter.CurrentOperationalControlRequest.TotalAmount           = PRR.ReceivableAmount;
                                _presenter.CurrentOperationalControlRequest.TotalActualExpendture = PRR.TotalAmount;
                                OCRD.OperationalControlRequest = _presenter.CurrentOperationalControlRequest;
                                _presenter.CurrentOperationalControlRequest.OperationalControlRequestDetails.Add(OCRD);
                                if (detail.PRAttachments.Count > 0)
                                {
                                    foreach (PRAttachment CP in detail.PRAttachments)
                                    {
                                        OCRAttachment OPA = new OCRAttachment
                                        {
                                            FilePath = CP.FilePath,
                                            OperationalControlRequest = _presenter.CurrentOperationalControlRequest
                                        };
                                        _presenter.CurrentOperationalControlRequest.OCRAttachments.Add(OPA);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }