public IHttpActionResult PutTrackStatu([FromBody] string appid, [FromUri] string adminId)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            TrackStatu trackStatus = db.TrackStatus.ToList().Find(x => x.ApplicationID == appid);

            //trackStatus.AppointmentDate = trackStatus.CustomerApplication.AppointmentDateTentative;
            trackStatus.LoanStatus       = "verified and sent for final approval";
            trackStatus.AdminID          = adminId;
            trackStatus.LoanApprovalDate = null;
            db.Entry(trackStatus).State  = EntityState.Modified;
            //db.TrackStatus..Where(x => x.ApplicationID == appid).Update(x => new Task { LoanStatus = "verified and sent for final approval"});
            //db.tas
            //var query = "UPDATE Admin SET LoanStatus = 'verified and sent for final approval' WHERE  = 1";
            //using (var context = new YourContext())
            //{
            //    context.Database.ExecuteSqlCommand(query);
            //}
            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                throw;
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public IHttpActionResult GetTrackStatu([FromBody] string appid)
        {
            TrackStatu trackStatu = db.TrackStatus.ToList().Find(x => x.ApplicationID == appid);

            if (trackStatu == null)
            {
                return(NotFound());
            }

            return(Ok(trackStatu));
        }
Esempio n. 3
0
        public IHttpActionResult PostLoanAccount([FromBody] string adminId, [FromUri] string appId)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            TrackStatu trackStatus = db.TrackStatus.ToList().Find(x => x.ApplicationID == appId);

            trackStatus.LoanStatus       = "Approved";
            trackStatus.LoanApprovalDate = DateTime.Today;
            db.Entry(trackStatus).State  = EntityState.Modified;

            LoanAccount loanaccount = new LoanAccount();

            loanaccount.AppID           = appId;
            loanaccount.AdminID         = adminId;
            loanaccount.PrincipleAmount = loanaccount.CustomerApplication.LoanAmount;
            loanaccount.EMIStartDate    = (DateTime)db.TrackStatus.ToList().Find(x => x.ApplicationID == appId).LoanApprovalDate;
            loanaccount.EMIEndDate      = loanaccount.EMIStartDate.AddMonths(loanaccount.CustomerApplication.Tenure);
            loanaccount.EMINextDate     = loanaccount.EMIStartDate.AddMonths(1);
            double p = loanaccount.CustomerApplication.LoanAmount;
            double r = 8.5 / 1200;
            int    n = loanaccount.CustomerApplication.Tenure;

            loanaccount.EMI_Installment = p * r * (Math.Pow((r + 1), n)) / (Math.Pow((r + 1), (n - 1)));
            TimeSpan ts = DateTime.Now - loanaccount.EMIStartDate;

            loanaccount.TenureRemaining = ts.Days / 30;
            loanaccount.Balance         = loanaccount.CustomerApplication.LoanAmount;
            db.LoanAccounts.Add(loanaccount);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                //if (LoanaccountExists(loanaccount.AccountNumber))
                //{
                //    return Conflict();
                //}
                //else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = loanaccount.AccountNumber }, loanaccount));
        }
        public IHttpActionResult PostCustomerApplication(CustomerApplication customerApplication)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            //Customer cust = db.Customers.Find(customerApplication.EmailID);
            customerApplication.ApplicationID = db.Customers.Find(customerApplication.EmailID).LastName.Substring(0, 3) + db.Customers.Find(customerApplication.EmailID).Contact.Substring(6, 4);
            //customerApplication.Customer.LastName.Substring(0, 3) + customerApplication.Customer.Contact.Substring(6, 4);
            customerApplication.AppointmentDateTentative = DateTime.Now.AddDays(7);
            db.CustomerApplications.Add(customerApplication);
            try
            {
                db.SaveChanges();
            }
            catch (Exception e)
            {
                if (CustomerApplicationExists(customerApplication.ApplicationID))
                {
                    return(Conflict());
                }
                else
                {
                    throw e;
                }
            }
            TrackStatu ts = new TrackStatu();

            ts.ApplicationID    = db.Customers.Find(customerApplication.EmailID).LastName.Substring(0, 3) + db.Customers.Find(customerApplication.EmailID).Contact.Substring(6, 4);
            ts.Contact          = db.Customers.Find(customerApplication.EmailID).Contact;
            ts.AdminID          = null;
            ts.AppointmentDate  = DateTime.Today.AddDays(7);
            ts.LoanStatus       = "sent for verification";
            ts.LoanApprovalDate = null;
            db.TrackStatus.Add(ts);
            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = customerApplication.ApplicationID }, customerApplication));
        }