Example #1
0
 public ActionResult CheckOut(FormCollection form)
 {
     using (db = new ChargeAfterEntities())
     {
         try
         {
             ViewData["Awesome"] = "Awesome";
             Session["Name"]     = form["firstName"] + " " + form["lastName"];
             Session["email"]    = form["email"];
             Session["phone"]    = form["phone"];
             Session["country"]  = form["country"];
             Session["address"]  = form["address1"] + form["address2"] + form["address3"];
             Session["City"]     = form["city"];
             Session["state"]    = form["state"];
             Session["Zip"]      = form["zip"];
             TempData["Name"]    = form["firstName"] + " " + form["lastName"];
             TempData["phone"]   = form["phone"];
             TempData["address"] = form["address1"] + form["address2"] + form["address3"];
             TempData["city"]    = form["city"];
             TempData["state"]   = form["state"];
             TempData["Zip"]     = form["zip"];
             TempData["country"] = form["country"];
             return(View("ConfirmShipping"));
         }
         catch (Exception ex)
         {
             ViewData["Awesome"] = "Oops " + ex.Message;
             return(View());
         }
     }
 }
Example #2
0
        public ActionResult Choose(String loanId, String offerid, int id)
        {
            SubmitOffer offerData = new OfferService().ConfirmOffer(loanId, offerid);

            using (db = new ChargeAfterEntities())
            {
                //int ids = Convert.ToInt32(Session["id"]);
                var  req   = (from r in db.Requests where r.UserID == id select r).FirstOrDefault();
                long reqID = req.ReqID;

                Request model = db.Requests.Find(reqID);
                model.RequestStatus   = "Authorized";
                db.Entry(model).State = EntityState.Modified;
                db.SaveChanges();


                //Stroing Request Responce
                SubmitOfferResponce sOR = new SubmitOfferResponce();
                sOR.userId        = id;
                sOR.loanId        = offerData.loanId;
                sOR.applicationId = offerData.loanId;
                //sOR.type = offerData.type;
                sOR.message = offerData.message;
                //sOR.reason = offerData.reason;

                db.SubmitOfferResponces.Add(sOR);
                db.SaveChanges();


                TempData["ConfirmOffer"] = loanId;
            }

            return(RedirectToAction("Approved"));
        }
Example #3
0
        public ActionResult Index()
        {
            using (db = new ChargeAfterEntities())
            {
                //var query = (from u in db.Users
                //             join r in db.Requests
                //             on u.Id equals r.UserID // into bases
                //             //from sb in bases.DefaultIfEmpty()
                //             join ro in db.RequestOffers
                //             on r.UserID equals ro.UserID //into ess
                //from es in ess.DefaultIfEmpty()
                var query = (from u in db.Users
                             from ua in db.UserAdresses.Where(c => c.UserId == u.Id).DefaultIfEmpty()
                             from r in db.Requests.Where(f => f.UserID == u.Id).DefaultIfEmpty()
                             from ro in db.RequestOffers.Where(comp => comp.UserID == u.Id).DefaultIfEmpty()
                             select new TBL
                {
                    Id = u.Id,
                    //DOB = u.DOB.Value,
                    Mobile = u.Mobile,
                    Phone = u.Phone,
                    FirstName = u.FirstName,
                    //LastName = u.LastName,
                    Email = u.Email,
                    //Username = u.FirstName,
                    lender = ro.Lender,
                    //ReqID = (int)u.Id,
                    Amount = ro.ApprovedAmmount,
                    rDate = r.RequestDate ?? DateTime.Now,
                    Status = r.RequestStatus
                }).OrderByDescending(x => x.Id);

                return(View(query.ToList()));
            }
        }
Example #4
0
 public ActionResult DashBoard()
 {
     using (db = new ChargeAfterEntities())
     {
         var today = DateTime.Now.AddDays(-7);
         var query = (from u in db.Users
                      join r in db.Requests
                      on u.Id equals r.UserID into bases
                      from sb in bases.DefaultIfEmpty()
                      join ro in db.RequestOffers
                      on sb.UserID equals ro.UserID into ess
                      from es in ess.DefaultIfEmpty()
                      select new TBL
         {
             Id = u.Id,
             Mobile = u.Mobile,
             Phone = u.Phone,
             FirstName = u.FirstName,
             Email = u.Email,
             lender = es.Lender,
             //ReqID = (int)u.Id,
             Amount = es.ApprovedAmmount,
             rDate = (DateTime?)sb.RequestDate ?? DateTime.Now,
             Status = sb.RequestStatus
         }).Where(x => DbFunctions.TruncateTime(x.rDate) >= today).OrderByDescending(x => x.Id);
         //var last = query.LastOrDefault();
         //ViewData["last"] = last;
         return(View(query.ToList()));
     }
 }
Example #5
0
 public ActionResult Product()
 {
     using (db = new ChargeAfterEntities())
     {
         var product = (from p in db.Products select p).ToList();
         return(View(product));
     }
 }
Example #6
0
 public ActionResult GamingEditing()
 {
     using (db = new ChargeAfterEntities())
     {
         var product = (from p in db.Products where p.Name.Contains("Dell 15.6") select p).FirstOrDefault();
         return(View(product));
     }
 }
Example #7
0
 public ActionResult Payment()
 {
     using (db = new ChargeAfterEntities())
     {
         TempData["name"]  = Session["Name"];
         TempData["email"] = Session["email"];
         TempData["phone"] = Session["phone"];
         return(View());
     }
 }
Example #8
0
        public ActionResult OfferFortiva(int id)
        {
            using (db = new ChargeAfterEntities())
            {
                try
                {
                    var     offer          = new RequestOffer();
                    var     item           = (List <Item>)Session["cart"];
                    float   subTot         = 0;
                    float   pay            = 0;
                    decimal approvedAmount = 0;
                    if (item != null)
                    {
                        foreach (Item itemPro in (List <Item>)Session["cart"])
                        {
                            float price = Convert.ToSingle(@itemPro.Pro.Price) * 1;
                            subTot = subTot + price;
                            Session["Subtotal"] = subTot;
                        }

                        pay            = Convert.ToSingle(100 + subTot);
                        approvedAmount = Math.Round((decimal)pay, 0);
                    }
                    decimal monthly    = approvedAmount / 6;
                    decimal monthlyPay = Math.Round((decimal)monthly, 0);
                    int?    intIdt     = db.Users.Max(u => (int?)u.Id);
                    offer.UserID = intIdt;

                    offer.TotalPayback    = 6;
                    offer.IncreasePercent = 0;
                    offer.ApprovedAmmount = approvedAmount;
                    offer.MonthlyAmount   = monthlyPay;
                    offer.Lender          = "Fortiva";
                    offer.MonthCount      = 6;

                    db.RequestOffers.Add(offer);
                    var     req   = (from r in db.Requests where r.UserID == intIdt select r).FirstOrDefault();
                    long    reqID = req.ReqID;
                    Request model = db.Requests.Find(reqID);
                    model.RequestStatus   = "Authorized";
                    db.Entry(model).State = EntityState.Modified;
                    db.SaveChanges();
                    TempData["PayBack"] = "6";
                    Session["PayBack"]  = "6";
                    return(RedirectToAction("ReviewSubmit"));
                }
                catch (Exception ex)
                {
                    TempData["message"] = "We can not proceed your request right now !!! Fill all the fields carefully and try again";
                    return(RedirectToAction("Payment"));
                }
            }
        }
Example #9
0
 public ActionResult ConfirmPayment()
 {
     using (db = new ChargeAfterEntities())
     {
         TempData["name"]   = Session["chargeAName"];
         TempData["mobile"] = Session["ChargAmobile"];
         TempData["email"]  = Session["ChargAemail"];
         TempData["DOB"]    = Session["ChargADOB"];
         TempData["SSN"]    = Session["ChargASSN"];
         return(View());
     }
 }
Example #10
0
 public ActionResult Payment(FormCollection form)
 {
     using (db = new ChargeAfterEntities())
     {
         Session["chargeAName"]  = form["name"];
         Session["ChargAmobile"] = form["mobile"];
         Session["ChargAemail"]  = form["email"];
         Session["ChargADOB"]    = Convert.ToDateTime(form["dob"]);
         Session["ChargASSN"]    = form["ssn"];
     }
     return(RedirectToAction("ConfirmPayment"));
 }
Example #11
0
        public ActionResult Details(int id)
        {
            using (db = new ChargeAfterEntities())
            {
                var query = (from u in db.Users
                             from ua in db.UserAdresses.Where(c => c.UserId == u.Id).DefaultIfEmpty()
                             from r in db.Requests.Where(f => f.UserID == u.Id).DefaultIfEmpty()
                             from ro in db.RequestOffers.Where(comp => comp.UserID == u.Id).DefaultIfEmpty()
                             where u.Id == id
                             select new TBL
                {
                    Id = u.Id,
                    ReqId = r.ReqID,
                    Mobile = u.Mobile,
                    Phone = u.Phone,
                    FirstName = u.FirstName,
                    LastName = u.LastName,
                    address = ua.Adress,
                    city = ua.City,
                    country = ua.Country,
                    zip = ua.PostalCode,
                    state = ua.State,
                    Email = u.Email,
                    Username = u.FirstName,
                    lender = ro.Lender,
                    EmpStatus = u.EmploymentStatus,
                    HousingStatus = u.HousingStatus,

                    ApprovedAmmount = ro.ApprovedAmmount,
                    MonthlyAmount = ro.MonthlyAmount,
                    MonthCount = ro.MonthCount,
                    IncreasePercent = ro.IncreasePercent,
                    //ReqID = int.Parse(ro.ReqID.ToString()),
                    TotalPayback = ro.TotalPayback,

                    socialSecurity = u.SocialSecurityNumber,
                    YearsAtResidance = u.YearatResidence,
                    monthlyRent = u.monthlyRent,
                    DriverLicense = u.DriverLicense,
                    DRiveState = u.DriverLicenseState,

                    GrossIndividual = u.GrossAnnualIndividual,
                    NetIncom = u.NetMonthlyIncome,
                    Amount = ro.ApprovedAmmount,
                    // Date = r.RequestDate.Value,
                    Status = r.RequestStatus,
                    SalaryFrequency = u.SalaryFrequency,
                }).FirstOrDefault();

                return(Json(new { success = true, query }, JsonRequestBehavior.AllowGet));
            }
        }
Example #12
0
 public ActionResult Approved()
 {
     using (db = new ChargeAfterEntities())
     {
         var reqID = "f267e96e-49e5-4c59-9f18-d39f4af27c1a";
         if (TempData["ConfirmOffer"] != null)
         {
             reqID = (TempData["ConfirmOffer"]).ToString();
         }
         var ConfirmOffer = (from r in db.RequestOffers where r.LoanId == reqID select r).FirstOrDefault();
         return(View(ConfirmOffer));
     }
 }
Example #13
0
 public ActionResult ConfirmShipping()
 {
     using (db = new ChargeAfterEntities())
     {
         TempData["name"]    = TempData["name"];
         TempData["address"] = TempData["address"];
         TempData["city"]    = TempData["city"];
         TempData["state"]   = TempData["state"];
         TempData["Zip"]     = TempData["Zip"];
         TempData["country"] = TempData["country"];
         return(View());
     }
 }
Example #14
0
        public ActionResult Details(int id)
        {
            using (db = new ChargeAfterEntities())
            {
                var query = (from u in db.Users
                             from ua in db.UserAdresses.Where(c => c.UserId == u.Id).DefaultIfEmpty()
                             from r in db.Requests.Where(f => f.UserID == u.Id).DefaultIfEmpty()
                             from ro in db.RequestOffers.Where(comp => comp.UserID == u.Id).DefaultIfEmpty()
                             where u.Id == id
                             select new TBL
                {
                    Id = u.Id,
                    //DOB = (DateTime?)u.DOB.Value ?? DateTime.Now,
                    Mobile = u.Mobile,
                    Phone = u.Phone,
                    FirstName = u.FirstName,
                    LastName = u.LastName,
                    address = ua.Adress,
                    city = ua.City,
                    country = ua.Country,
                    zip = ua.PostalCode,
                    state = ua.State,
                    Email = u.Email,
                    Username = u.FirstName,
                    lender = ro.Lender,
                    EmpStatus = u.EmploymentStatus,
                    HousingStatus = u.HousingStatus,
                    GrossIndividual = u.GrossAnnualIndividual,
                    NetIncom = u.NetMonthlyIncome,
                    Amount = ro.ApprovedAmmount,
                    Date = r.RequestDate.Value,
                    Status = r.RequestStatus,
                    SalaryFrequency = u.SalaryFrequency,

                    annualFee = ro.annualFee,
                    //ApprovedAmmount = (decimal)ro.ApprovedAmmount,
                    eligibility = ro.eligibility,
                    Intrest = ro.Intrest,
                    IncreasePercent = ro.IncreasePercent,
                    Duration = ro.Duration,
                    isPreQualifyOffer = ro.isPreQualifyOffer,
                    offerId = ro.OffID.ToString(),
                    MonthCount = ro.MonthCount,
                    loanId = ro.LoanId,
                    term = ro.term,
                }).FirstOrDefault();

                return(Json(new { success = true, query }, JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult Index()
        {
            using (db = new ChargeAfterEntities())
            {
                var today = DateTime.Now;
                var query = (from u in db.Users
                             join r in db.Requests
                             on u.Id equals r.UserID      //into bases
                                                          //from sb in bases.DefaultIfEmpty()
                             join ro in db.RequestOffers
                             on r.UserID equals ro.UserID // into ess
                                                          //from es in ess.DefaultIfEmpty()
                                                          //where sb.RequestDate == today.Date
                             select new TBL
                {
                    Id = u.Id,
                    //DOB = u.DOB.Value,
                    Mobile = u.Mobile,
                    Phone = u.Phone,
                    FirstName = u.FirstName,
                    //LastName = u.LastName,
                    Email = u.Email,
                    //Username = u.FirstName,
                    lender = ro.Lender,
                    //ReqID = (int)u.Id,
                    Amount = ro.ApprovedAmmount,
                    Date = (DateTime?)r.RequestDate ?? DateTime.Now,
                    Status = r.RequestStatus
                }).ToList().Where(x => x.Date.Value.Date >= today.AddDays(-7));

                //var yestreday = DateTime.Now.AddDays(-1);
                //float yesterdaysSettlement = 0;
                //foreach(var item in query)
                //{
                //    var rDate = item.Date.Value.Date;
                //    var result = DateTime.Compare(rDate.Date, yestreday.Date);
                //    if (result == 0)
                //    {
                //        yesterdaysSettlement = yesterdaysSettlement + Convert.ToSingle(item.Amount);
                //    }
                //}


                return(View(query));
            }
        }
Example #16
0
        public ActionResult OfferFortiva(int id)
        {
            using (db = new ChargeAfterEntities())
            {
                var     offer          = new RequestOffer();
                var     item           = (List <Item>)Session["cart"];
                float   subTot         = 0;
                float   pay            = 0;
                decimal approvedAmount = 0;
                if (item != null)
                {
                    foreach (Item itemPro in (List <Item>)Session["cart"])
                    {
                        float price = Convert.ToSingle(@itemPro.Pro.Price) * 1;
                        subTot = subTot + price;
                        Session["Subtotal"] = subTot;
                    }

                    pay            = Convert.ToSingle(100 + subTot);
                    approvedAmount = Math.Round((decimal)pay, 0);
                }
                decimal monthly    = approvedAmount / 6;
                decimal monthlyPay = Math.Round((decimal)monthly, 0);
                // var Oid = user
                offer.UserID = id;

                offer.TotalPayback    = 6;
                offer.IncreasePercent = 0;
                offer.ApprovedAmmount = approvedAmount;
                offer.MonthlyAmount   = monthlyPay;
                offer.Lender          = "Fortiva";
                db.RequestOffers.Add(offer);
                var     req   = (from r in db.Requests where r.UserID == id select r).FirstOrDefault();
                long    reqID = req.ReqID;
                Request model = db.Requests.Find(reqID);
                model.RequestStatus   = "Authorized";
                db.Entry(model).State = EntityState.Modified;
                db.SaveChanges();
            }
            TempData["PayBack"] = "6";
            Session["PayBack"]  = "6";
            return(RedirectToAction("Approved"));
        }
Example #17
0
        public ActionResult Index(FormCollection form)
        {
            var username = form["username"];
            var password = form["password"];

            if (username == "Admin" && password == "Admin")
            {
                using (db = new ChargeAfterEntities())
                {
                    var today = DateTime.Now.AddDays(-7);
                    var query = (from u in db.Users
                                 join r in db.Requests
                                 on u.Id equals r.UserID into bases
                                 from sb in bases.DefaultIfEmpty()
                                 join ro in db.RequestOffers
                                 on sb.UserID equals ro.UserID into ess
                                 from es in ess.DefaultIfEmpty()
                                 select new TBL
                    {
                        Id = u.Id,
                        Mobile = u.Mobile,
                        Phone = u.Phone,
                        FirstName = u.FirstName,
                        Email = u.Email,
                        lender = es.Lender,
                        //ReqID = (int)u.Id,
                        Amount = sb.RequestAmount,
                        rDate = (DateTime?)sb.RequestDate ?? DateTime.Now,
                        Status = sb.RequestStatus
                    }).Where(x => DbFunctions.TruncateTime(x.rDate) >= today).OrderByDescending(x => x.Id);
                    //var last = query.Last();
                    //ViewData["last"] = last;
                    return(View("DashBoard", query.ToList()));
                }
            }
            else
            {
                ViewData["messsage"] = "incorrect user name or password";
                return(View());
            }
        }
Example #18
0
        public ActionResult AddToCart(int id)
        {
            if (Session["cart"] == null)
            {
                using (db = new ChargeAfterEntities())
                {
                    List <Item> cart = new List <Item>();
                    var         data = (from d in db.Products where d.Id == id select d).FirstOrDefault();
                    cart.Add(new Item(data, 1));
                    Session["cart"] = cart;
                }
            }
            else
            {
                using (db = new ChargeAfterEntities())
                {
                    List <Item> cart  = (List <Item>)Session["cart"];
                    int         index = isExisting(id);
                    if (index == -1)
                    {
                        cart.Add(new Item(db.Products.Find(id), 1));
                    }
                    else
                    {
                        cart[index].Quantity++;
                    }
                    Session["cart"] = cart;
                }
            }
            TempData["Cart"] = "cart is not empty";
            //ViewData["AddedCart"] = "cart is not empty";
            return(Redirect(Request.UrlReferrer.PathAndQuery));

            //using (db = new ChargeAfterEntities())
            //{
            //    var product = (from p in db.Products select p).ToList();
            //    return View("Product", product);
            //}
        }
Example #19
0
 public ActionResult Refund(FormCollection form)
 {
     try
     {
         var id  = form["rid"];
         int uid = Convert.ToInt32(id);
         using (db = new ChargeAfterEntities())
         {
             var     reqeust = (from r in db.Requests where r.UserID == uid select r).FirstOrDefault();
             long    rid     = reqeust.ReqID;
             Request model   = db.Requests.Find(rid);
             model.RequestStatus   = "Refunded";
             db.Entry(model).State = EntityState.Modified;
             db.SaveChanges();
             TempData["message"] = "You successfully Refunded this amount.";
         }
         return(RedirectToAction("Index"));
     }
     catch (Exception ex)
     {
         TempData["error"] = "Sorry we can not process the request !!";
         return(RedirectToAction("Index"));
     }
 }
Example #20
0
        public ActionResult Payment(string Name, string Uemail, string phone, string dateBirth, string SSN,
                                    string EmplStatus, string estimatedCredit, string housingStatus, string NetMonthlySalary, string GrossIn,
                                    string SalaryFrequency, string Address, string State, string City, string monthRent, string driverLicenseNum,
                                    string driversState, string driversDate, string yearsAtResidance, FormCollection form)
        {
            try
            {
                using (db = new ChargeAfterEntities())
                {
                    var user        = new User();
                    var userAddress = new UserAdress();
                    var req         = new Request();
                    var name        = Name;
                    var email       = Uemail;
                    user.FirstName = Name;
                    user.Mobile    = phone;
                    user.Email     = Uemail;
                    if (dateBirth != null)
                    {
                        user.DOB = Convert.ToDateTime(dateBirth);
                    }
                    user.SocialSecurityNumber  = SSN;
                    user.EstimatedCreditRange  = estimatedCredit;
                    user.EmploymentStatus      = EmplStatus;
                    user.HousingStatus         = housingStatus;
                    user.GrossAnnualIndividual = GrossIn;
                    user.NetMonthlyIncome      = NetMonthlySalary;
                    user.SalaryFrequency       = SalaryFrequency;
                    user.YearatResidence       = yearsAtResidance;
                    user.monthlyRent           = monthRent;
                    user.DriverLicense         = driverLicenseNum;
                    user.DriverLicenseState    = driversState;
                    if (driversDate.Length > 1)
                    {
                        user.DriverLicensExpirationDate = Convert.ToDateTime(driversDate);
                    }
                    db.Users.Add(user);
                    db.SaveChanges();

                    userAddress.UserId     = user.Id;
                    userAddress.Country    = Session["country"].ToString();
                    userAddress.Adress     = Address;
                    userAddress.City       = City;
                    userAddress.State      = State;
                    userAddress.PostalCode = Session["Zip"].ToString();
                    db.UserAdresses.Add(userAddress);

                    var   items  = (List <Item>)Session["cart"];
                    float subTot = 0;
                    float total  = 0;
                    if (items != null)
                    {
                        foreach (Item itemPro in (List <Item>)Session["cart"])
                        {
                            float price = Convert.ToSingle(@itemPro.Pro.Price) * 1;
                            subTot = subTot + price;
                        }
                        total = subTot + 100;
                    }
                    decimal amount = Math.Round((decimal)total, 0);

                    req.UserID        = user.Id;
                    req.RequestDate   = DateTime.Now;
                    req.RequestAmount = amount;
                    req.RequestStatus = "Pending";
                    TempData["id"]    = user.Id;
                    Session["idU"]    = user.Id;
                    int userId = user.Id;
                    db.Requests.Add(req);
                    db.SaveChanges();

                    ViewData["message"] = "Sucessful";
                    return(Json(userId, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                ViewData["message"] = "Sorry " + ex.Message;
                return(View());
            }
        }
Example #21
0
        public ActionResult ConfirmPayment(FormCollection form)
        {
            var   items  = (List <Item>)Session["cart"];
            float subTot = 0;
            float total  = 0;

            if (items != null)
            {
                foreach (Item itemPro in (List <Item>)Session["cart"])
                {
                    float price = Convert.ToSingle(itemPro.Pro.Price) * 1;
                    subTot = subTot + price;
                }
                total = subTot + 100;
            }
            decimal amount = Math.Round((decimal)total, 0);


            try
            {
                Applicant applicant = new Applicant();
                Address   address   = new Address();
                //var loanAmount = form["loanAmmount"];

                applicant.firstName = form["name"];
                applicant.lastName  = form["name"];

                string tempDate    = (form["DOB"]);
                string createddate = Convert.ToDateTime(tempDate).ToString("yyyy-MM-dd");
                applicant.dateOfBirth          = createddate;
                applicant.mobile               = form["mobile"];
                applicant.email                = form["email"];
                applicant.identificationNumber = form["ssn"];
                if (form["housingType"] != null)
                {
                    applicant.housingType = form["housingType"];
                }
                else
                {
                    applicant.housingType = "";
                }
                applicant.salaryFrequency  = form["salaryFrequency"];
                applicant.employmentStatus = form["employmentStatus"];


                address.street1 = Session["address"].ToString();
                address.city    = Session["City"].ToString();
                address.state   = Session["state"].ToString();
                address.zipCode = Session["Zip"].ToString();
                address.country = Session["country"].ToString();

                applicant.address = address;

                var grossIncome = form["grossIncome"];



                TempData["matches"] = new OfferService().GetOffers(amount.ToString(), grossIncome, applicant);


                //   IEnumerable<OfferViewModel> ResponceOffer = new OfferService().GetOffers(loanAmount, grossIncome, applicant);



                if (TempData["matches"] != null)
                {
                    using (db = new ChargeAfterEntities())
                    {
                        var user        = new User();
                        var userAddress = new UserAdress();
                        var req         = new Request();
                        var name        = form["name"];
                        var email       = form["email"];
                        user.FirstName             = form["name"];
                        user.Mobile                = form["mobile"];
                        user.Email                 = form["email"];
                        user.DOB                   = Convert.ToDateTime(form["DOB"]);
                        user.EstimatedCreditRange  = form["CreditScore"];
                        user.EmploymentStatus      = form["employmentStatus"];
                        user.HousingStatus         = form["housingType"];
                        user.GrossAnnualIndividual = form["grossIncome"];
                        user.NetMonthlyIncome      = form["netMonthly"];
                        user.SalaryFrequency       = form["salaryFrequency"];



                        db.Users.Add(user);
                        db.SaveChanges();

                        userAddress.UserId     = user.Id;
                        tempID                 = user.Id;
                        Session["id"]          = user.Id;
                        userAddress.Country    = Session["country"].ToString();
                        userAddress.Adress     = Session["address"].ToString();
                        userAddress.City       = Session["City"].ToString();
                        userAddress.State      = Session["state"].ToString();
                        userAddress.PostalCode = Session["Zip"].ToString();
                        db.UserAdresses.Add(userAddress);



                        req.UserID        = user.Id;
                        req.RequestDate   = DateTime.Now;
                        req.RequestAmount = amount;
                        req.RequestStatus = "Pending";
                        TempData["id"]    = user.Id;
                        db.Requests.Add(req);
                        db.SaveChanges();

                        ViewData["message"] = "Sucessful";
                    }
                    using (db = new ChargeAfterEntities())
                    {
                        var     offer          = new RequestOffer();
                        var     item           = (List <Item>)Session["cart"];
                        float   subTots        = 0;
                        float   pay            = 0;
                        decimal approvedAmount = 0;
                        if (item != null)
                        {
                            foreach (Item itemPro in (List <Item>)Session["cart"])
                            {
                                float price = Convert.ToSingle(@itemPro.Pro.Price) * 1;
                                subTots             = subTots + price;
                                Session["Subtotal"] = subTots;
                            }

                            pay            = Convert.ToSingle(100 + subTots);
                            approvedAmount = Math.Round((decimal)pay, 0);
                        }
                        decimal monthly    = approvedAmount / 12;
                        decimal monthlyPay = Math.Round((decimal)monthly, 0);


                        IEnumerable <OfferViewModel> offered = (IEnumerable <OfferViewModel>)TempData["matches"];


                        foreach (var itms in offered)
                        {
                            if (offered.Count() == 0)
                            {
                                offer.Lender   = "No Lender Avaialable";
                                offer.Ammount  = 0;
                                offer.Duration = " ";
                                offer.Intrest  = " ";
                                ////viewmodel.loanId = "f8c5774a-d532-49eb-8cac-c5cdb5a6b52c";
                                offer.LoanId = "0";
                                offer.OffID  = 0;
                            }

                            offer.UserID          = long.Parse(tempID.ToString());
                            offer.TotalPayback    = itms.term;
                            offer.IncreasePercent = int.Parse(itms.interestRate.ToString());
                            offer.ApprovedAmmount = decimal.Parse(itms.loanAmount.ToString());
                            try
                            {
                                offer.MonthlyAmount = decimal.Parse(itms.monthlyPayment.ToString());
                            }


                            catch (Exception ex)
                            {
                                offer.MonthlyAmount = 0;
                            }
                            offer.annualFee         = itms.annualFee;
                            offer.Duration          = itms.Duration;
                            offer.eligibility       = itms.eligibility;
                            offer.Intrest           = itms.Intrest;
                            offer.minApr            = itms.apr.ToString();
                            offer.isPreQualifyOffer = itms.isPreQualifyOffer;
                            //offer.legalDisclosure = itms.legalDisclosure.ToString();
                            offer.LoanId = itms.loanId;
                            //offer.maxMonthlyPayment = itms.maxMonthlyPayment.ToString();
                            //offer.minApr = itms.minApr.ToString();
                            offer.MonthCount = itms.term;
                            //offer.pendingOffers = itms.pendingOffers.ToString();
                            offer.status = itms.status;
                            offer.term   = itms.term;
                            offer.Lender = itms.Lender;


                            db.RequestOffers.Add(offer);
                            db.SaveChanges();
                        }
                        return(RedirectToAction("Offers"));
                    }
                }
                else
                {
                    return(View());
                }
            }
            catch (Exception ex)
            {
                ViewData["message"] = "Sorry " + ex.Message;
                return(View());
            }
        }