예제 #1
0
        public async Task <IActionResult> PurchasePlanPost(int?id, IFormCollection collection)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var subscriberToUpdate = await _context.Subscribers.SingleOrDefaultAsync(s => s.SubscriberID == Convert.ToInt32(collection["SubscriberId"]));

            if (await TryUpdateModelAsync(
                    subscriberToUpdate,
                    "",
                    s => s.FirstName, s => s.MiddleName, s => s.LastName, s => s.AddressLine1, s => s.AddressLine2, s => s.City, s => s.State, s => s.ZipCode, s => s.County, s => s.PhoneNumber, s => s.EmailAddress, s => s.SocialSecurityNumber, s => s.IsUSCitizen, s => s.IsMilitary, s => s.IsStudent, s => s.IsOnMedicare, s => s.IsOnDisability, s => s.EmploymentIncome, s => s.InvestmentIncome, s => s.AlimonyChildSupport))
            {
                try
                {
                    var _confirmation = RandomString(10);
                    var _enrollment   = new Models.Enrollment {
                        InsurancePlanID = (int)id, PlanYear = DateTime.Now.Year, SubscriberID = Convert.ToInt32(collection["SubscriberId"]), ConfirmationCode = _confirmation, TimeStamp = DateTime.Now
                    };
                    TempData["confirmation"] = _confirmation;
                    _context.Add(_enrollment);
                    await _context.SaveChangesAsync();

                    var filteredData = FullEnrollmentData.GetFullEnrollmentData(_context, _enrollment.EnrollmentID);

                    AzureStorageHelper helper = new AzureStorageHelper(ConfigurationManager.AppSettings["AzS_StorageConnectionString"], ConfigurationManager.AppSettings["AzS_StorageContainerName"]);

                    helper.UploadDataToAzureStorage(
                        $"{filteredData.EnrollmentID}-{filteredData.SubscriberID}-{filteredData.HouseholdMemberID}.json",
                        JsonConvert.SerializeObject(filteredData, Formatting.Indented));


                    return(RedirectToAction("Confirm"));
                }
                catch (DbUpdateException ex)
                {
                    //Log the error (uncomment ex variable name and write a log.)
                    ModelState.AddModelError("", "Unable to save changes. " +
                                             "Try again, and if the problem persists, " +
                                             "see your system administrator." + ex.Message);
                }
            }

            return(View(subscriberToUpdate));
        }
 public ActionResult Index()
 {
     HttpContext.Session.SetString("CloudName", GetHostingEnvironment());
     return(View(FullEnrollmentData.GetFullEnrollmentData(_context)));
 }