public bool validateCustAppForm(CustomerApplicationFormViewModel custappviewmodel)
        {
            bool validate = true;
            if (custappviewmodel.IndianResident == false && custappviewmodel.NonResidentIndian == false)
            {
                ModelState.AddModelError("IndianResident", "Please select a appropriate value");
                validate = false;
            }
            if (custappviewmodel.Goverment == false && custappviewmodel.NonGoverment == false)
            {
                ModelState.AddModelError("Goverment", "Please select a appropriate value");
                validate = false;
            }
            if (custappviewmodel.Salaried == false && custappviewmodel.Business == false && custappviewmodel.Others == false)
            {
                ModelState.AddModelError("Salaried", "Please select a appropriate value");
                validate = false; ;

            }
            if (custappviewmodel.Teaching == false && custappviewmodel.NonTeaching == false && custappviewmodel.NRI == false && custappviewmodel.GeneralPublic == false)
            {
                ModelState.AddModelError("Teaching", "Please select a appropriate value");
                validate = false;
            }
            if (custappviewmodel.OwnPurpose == false && custappviewmodel.RentalPurpose == false)
            {
                ModelState.AddModelError("OwnPurpose", "Please select a appropriate value");
                validate = false;
            }
            if (custappviewmodel.BankLoan == false && custappviewmodel.OwnFund == false)
            {
                ModelState.AddModelError("BankLoan", "Please select a appropriate value");
                validate = false;
            }
            return validate;
        }
        public async Task<ActionResult> ApplyForAllotment(CustomerApplicationFormViewModel custappviewmodel)
        {
            try
            {
                _projectService.validateCustAppForm(custappviewmodel);

                if (ModelState.IsValid)
                {
                    CustomerApplicationForm custappmodel = Mapper.Map<CustomerApplicationForm>(custappviewmodel);
                    DateTime utcTime = DateTime.UtcNow;

                    string zoneID = "India Standard Time";

                    TimeZoneInfo myZone = TimeZoneInfo.FindSystemTimeZoneById(zoneID);
                    DateTime custDateTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, myZone);
                    
                    custappmodel.CreationDate = custDateTime;
                    db.CustomerApplicationForms.Add(custappmodel);
                    await db.SaveChangesAsync();
                    TempData["CusAppSaved"] = "done";
                    return RedirectToActionPermanent("AllotmentSuccess","Project");
                }
                else
                {
                    ViewBag.ProjectRefID = new SelectList(db.Projects.AsNoTracking().Select(p => new { p.ProjectID, p.ProjectName }), "ProjectID", "ProjectName",custappviewmodel.ProjectRefID);
                    ViewBag.ProjectTypeRefID = new SelectList(db.ProjectTypes.AsNoTracking().Select(c => new { c.ProjectTypeID, c.ProjectTypeName }), "ProjectTypeID", "ProjectTypeName",custappviewmodel.ProjectTypeRefID);
                    ViewBag.InvestmentRangeRefID = new SelectList(db.InvestmentRange.AsNoTracking().Select(i => new { i.InvestmentRangeID, i.InvestmentRangeValue }), "InvestmentRangeID", "InvestmentRangeValue",custappviewmodel.InvestmentRangeRefID);
                    return View();

                }

            }
            catch(Exception err)
            {
                ViewBag.ProjectRefID = new SelectList(db.Projects.AsNoTracking().Select(p => new { p.ProjectID, p.ProjectName }), "ProjectID", "ProjectName", custappviewmodel.ProjectRefID);
                ViewBag.ProjectTypeRefID = new SelectList(db.ProjectTypes.AsNoTracking().Select(c => new { c.ProjectTypeID, c.ProjectTypeName }), "ProjectTypeID", "ProjectTypeName",custappviewmodel.ProjectTypeRefID);
                ViewBag.InvestmentRangeRefID = new SelectList(db.InvestmentRange.AsNoTracking().Select(i => new { i.InvestmentRangeID, i.InvestmentRangeValue }), "InvestmentRangeID", "InvestmentRangeValue", custappviewmodel.InvestmentRangeRefID);
                ModelState.AddModelError("", err.Message);
                return View();
            }

        }
 public ActionResult ApplyForAllotment()
 {   
     
     ViewBag.ProjectTypeRefID = new SelectList(db.ProjectTypes.AsNoTracking().Select(c => new { c.ProjectTypeID, c.ProjectTypeName }), "ProjectTypeID", "ProjectTypeName");
     ViewBag.ProjectRefID = new SelectList(db.Projects.AsNoTracking().Select(p => new { p.ProjectID, p.ProjectName }), "ProjectID", "ProjectName");
     ViewBag.InvestmentRangeRefID = new SelectList(db.InvestmentRange.AsNoTracking().Select(i => new { i.InvestmentRangeID, i.InvestmentRangeValue }), "InvestmentRangeID", "InvestmentRangeValue");
     ModelState.Clear();
     CustomerApplicationFormViewModel custviewmodel = new CustomerApplicationFormViewModel();
     return View("ApplyForAllotment",custviewmodel);
 }