Ejemplo n.º 1
0
        public Approval ConvertDTOToEntity(ApprovalDTO dto)
        => new Approval(
            dto.Id,
            dto.Description,
            dto.IsApproved,
            _doctorConverter.ConvertDTOToEntity(dto.Doctor),
            ConvertDTOToEntity(dto.Proposition)

            );
 public IActionResult Put([FromBody] ApprovalDTO approvalDTO)
 {
     if (!ModelState.IsValid)
     {
         NotifyModelStateErrors();
         return(Response());
     }
     _approvalAppService.Update(approvalDTO);
     return(Response(approvalDTO));
 }
Ejemplo n.º 3
0
        public IActionResult Saveapprovedapplications(ApprovalDTO ApprovalList)
        {
            bool isSaved;

            try
            {
                isSaved = ObjApproval.Saveapprovedapplications(ApprovalList, Con);
            }
            catch (Exception ex)
            {
                throw new FinstaAppException(ex.ToString());
            }
            return(Ok(isSaved));
        }
Ejemplo n.º 4
0
        public List <ApprovalDTO> Getapprovedapplications(string Applicationid, string ConnectionString)
        {
            ApprovalDTO objApprovedetails = new ApprovalDTO();

            lstApprovedetails = new List <ApprovalDTO>();
            try
            {
                using (NpgsqlDataReader dr = NPGSqlHelper.ExecuteReader(ConnectionString, CommandType.Text, "select * from tbltransapprovedapplications WHERE VCHAPPLICATIONID='" + ManageQuote(Applicationid) + "'"))
                {
                    while (dr.Read())
                    {
                        objApprovedetails.pApplicationid             = Convert.ToInt64(dr["Applicationid"]);
                        objApprovedetails.pVchapplicationid          = dr["Vchapplicationid"].ToString();
                        objApprovedetails.pApproveddate              = Convert.ToDateTime(dr["Approveddate"]);
                        objApprovedetails.pApprovedby                = Convert.ToInt64(dr["Approvedby"]);
                        objApprovedetails.pAmountrequested           = Convert.ToDecimal(dr["Amountrequested"]);
                        objApprovedetails.pApprovedloanamount        = Convert.ToDecimal(dr["Approvedloanamount"]);
                        objApprovedetails.pLoanpayin                 = dr["Loanpayin"].ToString();
                        objApprovedetails.pInteresttype              = dr["Interesttype"].ToString();
                        objApprovedetails.pRateofinterest            = Convert.ToDecimal(dr["Rateofinterest"]);
                        objApprovedetails.pTenureofloan              = Convert.ToDecimal(dr["Tenureofloan"]);
                        objApprovedetails.pTenuretype                = dr["Tenuretype"].ToString();
                        objApprovedetails.pVchaccintrest             = Convert.ToDecimal(dr["Vchaccintrest"]);
                        objApprovedetails.pLoaninstalmentpaymentmode = dr["Loaninstalmentpaymentmode"].ToString();
                        objApprovedetails.pOldInstallmentstartdate   = Convert.ToDateTime(dr["OldInstallmentstartdate"]);
                        objApprovedetails.pInstallmentamount         = Convert.ToDecimal(dr["Vchaccintrest"]);
                        objApprovedetails.pInstallmentstartdate      = Convert.ToDateTime(dr["Installmentstartdate"]);
                        objApprovedetails.pHolidayperiodpayin        = dr["Holidayperiodpayin"].ToString();
                        objApprovedetails.pHolidayperiodvalue        = Convert.ToDecimal(dr["Holidayperiodvalue"]);
                        objApprovedetails.pMoratoriumperiodpayin     = dr["Moratoriumperiodpayin"].ToString();
                        objApprovedetails.pMoratoriumperiodvalue     = Convert.ToDecimal(dr["Moratoriumperiodvalue"]);
                        objApprovedetails.pRemarks = dr["Remarks"].ToString();
                        objApprovedetails.pDisbursementpayinmode = dr["Disbursementpayinmode"].ToString();
                        objApprovedetails.pGraceperiod           = Convert.ToDecimal(dr["Graceperiod"]);
                        objApprovedetails.lstStagewisepayments   = GetApprovelsStagewise(Applicationid, ConnectionString);
                        objApprovedetails.lstApprovedloancharges = GetApprovelscharges(Applicationid, ConnectionString);
                        lstApprovedetails.Add(objApprovedetails);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(lstApprovedetails);
        }
Ejemplo n.º 5
0
 private void Saveapprovalpaymentstages(ApprovalDTO ApprovalList, string Connectionstring, StringBuilder sbinsert)
 {
     try
     {
         if (ApprovalList.lstStagewisepayments != null)
         {
             for (int i = 0; i < ApprovalList.lstStagewisepayments.Count; i++)
             {
                 if (ApprovalList.lstStagewisepayments[i].ptypeofoperation == "CREATE")
                 {
                     sbinsert.Append("insert into tbltransapprovalpaymentstages(applicationid,vchapplicationid,stageno,stagename,paymentreleasetype,paymentreleasepercentage,paymentreleaseamount,statusid,createdby,createddate)values(" + ApprovalList.pApplicationid + ",'" + ApprovalList.pVchapplicationid + "','" + ManageQuote(ApprovalList.lstStagewisepayments[i].pStageno) + "','" + ManageQuote(ApprovalList.lstStagewisepayments[i].pStagename) + "','" + ManageQuote(ApprovalList.lstStagewisepayments[i].pPaymentreleasetype) + "'," + ApprovalList.lstStagewisepayments[i].pPaymentreleasepercentage + "," + ApprovalList.lstStagewisepayments[i].pPaymentreleaseamount + ",1," + ApprovalList.pCreatedby + ",current_timestamp);");
                 }
                 if (ApprovalList.lstStagewisepayments[i].ptypeofoperation == "UPDATE")
                 {
                 }
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Ejemplo n.º 6
0
 private void SaveApprovelcharges(ApprovalDTO ApprovalList, string Connectionstring, StringBuilder sbinsert)
 {
     try
     {
         if (ApprovalList.lstApprovedloancharges != null)
         {
             for (int i = 0; i < ApprovalList.lstApprovedloancharges.Count; i++)
             {
                 if (ApprovalList.lstApprovedloancharges[i].ptypeofoperation == "CREATE")
                 {
                     sbinsert.Append(" insert into tbltransapprovedloancharges(applicationid, vchapplicationid, chargestype, chargename, chargereceivableamount, chargewaiveoffamount, chargepaymentmode, statusid, createdby, createddate,gsttype,gstcalculationtype,gstpercentage,gstamount,totalchargeamount,igstamount,cgstamount,sgstamount,utgstamount,chargeamount)values(" + ApprovalList.pApplicationid + ",'" + ApprovalList.pVchapplicationid + "','" + ManageQuote(ApprovalList.lstApprovedloancharges[i].pChargestype) + "','" + ManageQuote(ApprovalList.lstApprovedloancharges[i].pChargename) + "'," + ApprovalList.lstApprovedloancharges[i].pChargereceivableamount + "," + ApprovalList.lstApprovedloancharges[i].pChargewaiveoffamount + ",'" + ManageQuote(ApprovalList.lstApprovedloancharges[i].pChargepaymentmode) + "',1," + ApprovalList.pCreatedby + ",current_timestamp,'" + ManageQuote(ApprovalList.lstApprovedloancharges[i].pGsttype) + "','" + ManageQuote(ApprovalList.lstApprovedloancharges[i].pGstcaltype) + "'," + ApprovalList.lstApprovedloancharges[i].pGstpercentage + "," + ApprovalList.lstApprovedloancharges[i].pTotalgstamount + "," + ApprovalList.lstApprovedloancharges[i].pTotalchargeamount + "," + ApprovalList.lstApprovedloancharges[i].pIgstamount + "," + ApprovalList.lstApprovedloancharges[i].pCgstamount + "," + ApprovalList.lstApprovedloancharges[i].pSgstamount + "," + ApprovalList.lstApprovedloancharges[i].pUtgstamount + "," + ApprovalList.lstApprovedloancharges[i].pActualchargeamount + ");");
                 }
                 if (ApprovalList.lstApprovedloancharges[i].ptypeofoperation == "UPDATE")
                 {
                     //sbinsert.Append("update tbltransapprovedloancharges");
                 }
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Ejemplo n.º 7
0
        public UserBackendDTO AddRequsetsTasksCountToSynchResponse(List <RequestEntity> userbackendrequestslist, List <ApprovalEntity> userbackendapprovalslist, UserBackendEntity userbackend, SynchRequestDTO query, UserBackendDTO userbackenddto)
        {
            string callerMethodName = string.Empty;

            try
            {
                //Get Caller Method name from CallerInformation class
                callerMethodName = CallerInformation.TrackCallerMethodName();
                List <ApprovalRequestDTO> approvalrequestlist = new List <ApprovalRequestDTO>();
                InsightLogger.TrackEvent("SyncAPIController :: endpoint - api/synch/users/{userID}/backends, action: Loop through all requests in backend");
                //loop through each request in the userbackend
                foreach (RequestEntity request in userbackendrequestslist)
                {
                    ApprovalRequestDTO approvalrequest = new ApprovalRequestDTO();
                    RequestDTO         requestdto      = new RequestDTO();
                    //get approval associated to request
                    ApprovalEntity approval = userbackendapprovalslist.Find(x => x.RequestId == request.ID);
                    if (approval != null)
                    {
                        ApprovalDTO approvaldto = new ApprovalDTO();
                        approvaldto = DataProvider.ResponseObjectMapper <ApprovalDTO, ApprovalEntity>(approval);
                        approvalrequest.approval            = approvaldto;
                        userbackenddto.approvalsCount.Count = userbackenddto.approvalsCount.Count + 1;
                        //if request is updated
                        if (Rules.IsRequestUpdated(request, userbackend.DefaultUpdateFrequency))
                        {
                            InsightLogger.TrackEvent("SyncAPIController :: endpoint - api/synch/users/{userID}/backends, action: check request update, response: true");
                            //get request synch entity
                            RequestSynchEntity requestsynch = GetRequestSynch(request);
                            //check if requests which have changed since the last synch need to send in response or all requests.
                            if (Rules.IsTargetRequest(query, request, approval, requestsynch))
                            {
                                InsightLogger.TrackEvent("SyncAPIController :: endpoint - api/synch/users/{userID}/backends, action: Target request, response: true");
                                requestdto = DataProvider.ResponseObjectMapper <RequestDTO, RequestEntity>(request);
                                approvalrequest.request = requestdto;
                                InsightLogger.TrackEvent("SyncAPIController :: endpoint - api/synch/users/{userID}/backends, action: add request header to response, response: success");
                                //code here to populate extended depth
                                //code here to update request synch time stamp
                                AddUpdateRequestSynch(request, requestsynch, query.userId);
                                InsightLogger.TrackEvent("SyncAPIController :: endpoint - api/synch/users/{userID}/backends, action: Update request synch timestamp, response: success");
                                //requestsfulfilled = true;
                            }
                        }
                        else
                        {
                            InsightLogger.TrackEvent("SyncAPIController :: endpoint - api/synch/users/{userID}/backends, action: check request update, response: false");
                            //check if request update is in progress in service layer then send the latency in response
                            if (Rules.IsRequestUpdateInProgress(request))
                            {
                                InsightLogger.TrackEvent("SyncAPIController :: endpoint - api/synch/users/{userID}/backends, action: update in-progress, response: true");
                                approvalrequest.retryAfter = request.ExpectedLatency;
                                InsightLogger.TrackEvent("SyncAPIController :: endpoint - api/synch/users/{userID}/backends, action: Add expected request latancy to resposne as retry time, response: Success");
                            }
                            else
                            {
                                InsightLogger.TrackEvent("SyncAPIController :: endpoint - api/synch/users/{userID}/backends, action: update in-progress, response: false");
                                TriggerRequestUpdate(request, query.userId);
                                InsightLogger.TrackEvent("SyncAPIController :: endpoint - api/synch/users/{userID}/backends, action: trigger a Request update, response: success");
                                approvalrequest.retryAfter = Convert.ToInt32(Rules.RequestRetryTime(userbackend));
                                InsightLogger.TrackEvent("SyncAPIController :: endpoint - api/synch/users/{userID}/backends, action: Add request retrytime to response, response: success");
                            }
                            //requestsunfulfilled = true;
                        }
                        //add approval request to list which will be added to corresponding backend
                        approvalrequestlist.Add(approvalrequest);
                    }
                }
                userbackenddto.requests = approvalrequestlist;
                return(userbackenddto);
            }
            catch (DataAccessException DALexception)
            {
                throw DALexception;
            }
            catch (Exception exception)
            {
                InsightLogger.Exception(exception.Message, exception, callerMethodName);
                //LoggerHelper.WriteToLog(exception + " - Error in BL while adding all approvals count to response  : "
                //+ exception.ToString(), CoreConstants.Priority.High, CoreConstants.Category.Error);
                throw new BusinessLogicException();
            }
        }
Ejemplo n.º 8
0
        public bool Saveapprovedapplications(ApprovalDTO ApprovalList, string Connectionstring)
        {
            StringBuilder sbinsert      = new StringBuilder();
            string        Approvestatus = string.Empty;
            bool          IsSaved       = false;

            try
            {
                con = new NpgsqlConnection(Connectionstring);
                if (con.State != ConnectionState.Open)
                {
                    con.Open();
                }
                trans = con.BeginTransaction();
                //Approvestatus = NPGSqlHelper.ExecuteScalar(Connectionstring, CommandType.Text, "select approvedpersonstatus from tblmstapprovalpersons t1 join tblmstusers t2 on contactrefid=contactreferenceid where userid=" + ApprovalList.pCreatedby + ";").ToString();

                Approvestatus = NPGSqlHelper.ExecuteScalar(Connectionstring, CommandType.Text, "select approvedpersonstatus from tblmstapprovalpersons;").ToString();
                if (Approvestatus == "Approved")
                {
                    if (ApprovalList.papprovestatus == "Approve")
                    {
                        if (ApprovalList.lstStagewisepayments.Count > 0 && ApprovalList.pDisbursementpayinmode.ToUpper() == "SINGLE PAYMENT")
                        {
                            ApprovalList.pDisbursementpayinmode = "Stage Payment";
                        }

                        sbinsert.Append("insert into tbltransapprovedapplications(applicationid,vchapplicationid,approveddate,approvedby,amountrequested,approvedloanamount,loanpayin,interesttype,rateofinterest,tenureofloan,tenuretype,vchaccintrest,loaninstalmentpaymentmode,Installmentamount,holidayperiodpayin,holidayperiodvalue,moratoriumperiodpayin,moratoriumperiodvalue,remarks,disbursementpayinmode,graceperiod,statusid, createdby, createddate,loantypeid,loantype,loanid,loanname,partprinciplepaidinterval)values(" + ApprovalList.pApplicationid + ",'" + ApprovalList.pVchapplicationid + "','" + FormatDate(ApprovalList.pApproveddate.ToString()) + "'," + ApprovalList.pApprovedby + "," + ApprovalList.pAmountrequested + "," + ApprovalList.pApprovedloanamount + ",'" + ManageQuote(ApprovalList.pLoanpayin) + "','" + ManageQuote(ApprovalList.pInteresttype) + "'," + ApprovalList.pRateofinterest + "," + ApprovalList.pTenureofloan + ",'" + ManageQuote(ApprovalList.pTenuretype) + "'," + ApprovalList.pVchaccintrest + ",'" + ManageQuote(ApprovalList.pLoaninstalmentpaymentmode) + "'," + ApprovalList.pInstallmentamount + ",'" + ManageQuote(ApprovalList.pHolidayperiodpayin) + "'," + ApprovalList.pHolidayperiodvalue + ",'" + ManageQuote(ApprovalList.pMoratoriumperiodpayin) + "'," + ApprovalList.pMoratoriumperiodvalue + ",'" + ManageQuote(ApprovalList.pRemarks) + "','" + ManageQuote(ApprovalList.pDisbursementpayinmode) + "'," + ApprovalList.pGraceperiod + ",1," + ApprovalList.pCreatedby + ",current_timestamp," + ApprovalList.pLoantypeid + ",'" + ManageQuote(ApprovalList.pLoantype) + "'," + ApprovalList.pLoanid + ",'" + ManageQuote(ApprovalList.pLoanname) + "'," + ApprovalList.pInterevels + ");");
                        Saveacceptedorrejectedapplications(ApprovalList, Connectionstring, sbinsert);
                        Saveapprovalpaymentstages(ApprovalList, Connectionstring, sbinsert);
                        SaveApprovelcharges(ApprovalList, Connectionstring, sbinsert);
                        sbinsert.Append("update tabapplication set loanstatus='Loan Approved',loanstatusid=" + Convert.ToInt32(Status.Loan_Approved) + ",approvaldate='" + FormatDate(ApprovalList.pApproveddate.ToString()) + "' where vchapplicationid='" + ApprovalList.pVchapplicationid + "'");
                    }
                    if (ApprovalList.papprovestatus == "Reject")
                    {
                        Saveacceptedorrejectedapplications(ApprovalList, Connectionstring, sbinsert);
                        sbinsert.Append("update tabapplication set loanstatus='Loan Rejected',loanstatusid=" + Convert.ToInt32(Status.Loan_Rejected) + ",approvaldate='" + FormatDate(ApprovalList.pApproveddate.ToString()) + "' where vchapplicationid='" + ApprovalList.pVchapplicationid + "'");
                    }
                }
                if (Approvestatus == "Accepted")
                {
                    Saveacceptedorrejectedapplications(ApprovalList, Connectionstring, sbinsert);
                    sbinsert.Append("update tabapplication set loanstatus='Loan Accepted',loanstatusid=11,approvaldate='" + FormatDate(ApprovalList.pApproveddate.ToString()) + "' where vchapplicationid='" + ApprovalList.pVchapplicationid + "'");
                }

                if (!string.IsNullOrEmpty(sbinsert.ToString()))
                {
                    NPGSqlHelper.ExecuteNonQuery(trans, CommandType.Text, sbinsert.ToString());
                }
                trans.Commit();
                IsSaved = true;
            }
            catch (Exception ex)
            {
                trans.Rollback();
                throw ex;
            }
            finally
            {
                if (con.State == ConnectionState.Open)
                {
                    con.Dispose();
                    con.Close();
                    con.ClearPool();
                    trans.Dispose();
                }
            }
            return(IsSaved);
        }
Ejemplo n.º 9
0
 private void Saveacceptedorrejectedapplications(ApprovalDTO ApprovalList, string Connectionstring, StringBuilder sbinsert)
 {
     sbinsert.Append("insert into tbltransacceptedorrejectedapplications(applicationid,vchapplicationid,approveddate,approvedby,amountrequested,approvedloanamount,loanpayin,interesttype,rateofinterest,tenureofloan,tenuretype,vchaccintrest,loaninstalmentpaymentmode,oldInstallmentstartdate,Installmentamount,Installmentstartdate,holidayperiodpayin,holidayperiodvalue,moratoriumperiodpayin,moratoriumperiodvalue,remarks,disbursementpayinmode,graceperiod,statusid, createdby, createddate)values(" + ApprovalList.pApplicationid + ",'" + ApprovalList.pVchapplicationid + "','" + FormatDate(ApprovalList.pApproveddate.ToString()) + "'," + ApprovalList.pApprovedby + "," + ApprovalList.pAmountrequested + "," + ApprovalList.pApprovedloanamount + ",'" + ManageQuote(ApprovalList.pLoanpayin) + "','" + ManageQuote(ApprovalList.pInteresttype) + "'," + ApprovalList.pRateofinterest + "," + ApprovalList.pTenureofloan + ",'" + ManageQuote(ApprovalList.pTenuretype) + "'," + ApprovalList.pVchaccintrest + ",'" + ManageQuote(ApprovalList.pLoaninstalmentpaymentmode) + "','" + FormatDate(ApprovalList.pOldInstallmentstartdate.ToString()) + "'," + ApprovalList.pInstallmentamount + ",'" + FormatDate(ApprovalList.pInstallmentstartdate.ToString()) + "','" + ManageQuote(ApprovalList.pHolidayperiodpayin) + "'," + ApprovalList.pHolidayperiodvalue + ",'" + ManageQuote(ApprovalList.pMoratoriumperiodpayin) + "'," + ApprovalList.pMoratoriumperiodvalue + ",'" + ManageQuote(ApprovalList.pRemarks) + "','" + ManageQuote(ApprovalList.pDisbursementpayinmode) + "'," + ApprovalList.pGraceperiod + ",1," + ApprovalList.pCreatedby + ",current_timestamp);");
 }