public ActionResult PaymentDetails(decimal id) { User_Transaction_Master userTransaction = db.User_Transaction_Master.Include(u => u.User_Profile). Include(u => u.Rate_Card).Include(u => u.Plan_Master).Where(u => u.Id == id).SingleOrDefault(); if (userTransaction == null) { return(HttpNotFound()); } return(View(userTransaction)); }
public ActionResult PaymentDetails(decimal id) { decimal userID = Convert.ToDecimal(UserHelper.GetUserId()); User_Transaction_Master userTransaction = db.User_Transaction_Master.Include(u => u.User_Profile). Include(u => u.Rate_Card).Include(u => u.Plan_Master).Where(u => u.Id == id).SingleOrDefault(); if (userTransaction.User_ID != userID) { TempData["message"] = ToasterMessage.Message(ToastType.warning, "Unauthorized access."); return(RedirectToAction("Index")); } if (userTransaction == null) { return(HttpNotFound()); } return(View(userTransaction)); }
// GET: Invoice public ActionResult Index(decimal v, decimal r) { User_Transaction_Master data = db.User_Transaction_Master.Include(x => x.Plan_Master) .Include(x => x.User_Profile).Where(x => x.User_ID == v && x.Id == r).First(); if (data.Plan_Master.Plan == "Yearly") { ViewBag.term = "365"; decimal oneyearamt = data.Amount; oneyearamt = (oneyearamt / 11) * 10; ViewBag.amt = Math.Round(oneyearamt, 2); decimal oneyeargst = (oneyearamt / 10); ViewBag.gst = Math.Round(oneyeargst, 2); ViewBag.total = ViewBag.amt + ViewBag.gst; } else { ViewBag.term = "730"; decimal twoyearamt = data.Amount; twoyearamt = (twoyearamt / 11) * 10; ViewBag.amt = Math.Round(twoyearamt, 2); decimal twoyeargst = (twoyearamt / 10); ViewBag.gst = Math.Round(twoyeargst, 2); ViewBag.total = ViewBag.amt + ViewBag.gst; } return(View(data)); }
public ActionResult Signup(User_Profile userProfileCreate) { try { var getName = db.User_Profile.Where(u => u.EmailAddress == userProfileCreate.EmailAddress).ToList(); if (getName.Count > 0) { ViewBag.message = ToasterMessage.Message(ToastType.info, "User already exist"); } else { using (var transaction = db.Database.BeginTransaction()) { userProfileCreate.Date = DateTime.Today; userProfileCreate.UserName = userProfileCreate.EmailAddress; userProfileCreate.Role_id = 1; userProfileCreate.Current_Financial_year = GetFinancialYear(); userProfileCreate.AccountConfirmed = "No"; Guid activationCode = Guid.NewGuid(); userProfileCreate.ActivationCode = activationCode; string activationLink = Request.Url.Scheme + "://" + Request.Url.Authority + "/User/ConfirmAccount/" + activationCode; db.User_Profile.Add(userProfileCreate); db.SaveChanges(); decimal id = userProfileCreate.ID; var user_Transaction_Master = new User_Transaction_Master(); var plan_id = db.Plan_Master.FirstOrDefault(x => x.Plan == "Demo"); decimal planID = Convert.ToDecimal(plan_id.Plan_ID); var rate_id = db.Rate_Card.FirstOrDefault(x => x.Plan_Id == planID); decimal rateID = Convert.ToDecimal(rate_id.Rate_Id); user_Transaction_Master.Rate_ID = rateID; //******************** user_Transaction_Master.User_ID = id; user_Transaction_Master.PlanID = planID; //******************** user_Transaction_Master.Amount = 0; user_Transaction_Master.Start_Date = DateTime.Today; user_Transaction_Master.End_Date = DateTime.Today.AddMonths(3); user_Transaction_Master.Payment_Status = "N/A"; user_Transaction_Master.Transection_ID = null; user_Transaction_Master.Status = "Active"; user_Transaction_Master.Payment_Date = null; user_Transaction_Master.Invoice_No = null; user_Transaction_Master.Payment_Method = "N/A"; db.User_Transaction_Master.Add(user_Transaction_Master); db.SaveChanges(); var mailLog = new MailLog { UserID = id, ReminderOne = DateTime.Today.AddDays(2), ReminderTwo = DateTime.Today.AddDays(7), ReminderThree = DateTime.Today.AddDays(14), ReminderFour = DateTime.Today.AddDays(30), ReminderFive = DateTime.Today.AddDays(60), ReminderSix = DateTime.Today.AddDays(90) }; db.MailLogs.Add(mailLog); db.SaveChanges(); transaction.Commit(); SendMail(userProfileCreate.FirstName, userProfileCreate.LastName, userProfileCreate.EmailAddress, activationLink, "~/EmailTemplate/SignupConfirmation.html", "Lex Narro - Verify email to activate account"); //SendMail("sanjay", "kumar", "*****@*****.**", // "", "~/EmailTemplate/SignupConfirmation.html"); TempData["message"] = ToasterMessage.MessageCenter(ToastType.success, "Registration successful. Check your email for account activation."); return(RedirectToAction("Login", "Account")); } } //} } catch (Exception ex) { TempData["message"] = ToasterMessage.Message(ToastType.info, "something went wrong. Please contact us from home page."); } ViewBag.CountryID = new SelectList(db.Country_Master.OrderBy(m => m.Name), "ID", "Name"); ViewBag.Role_id = new SelectList(db.Role_Master, "Id", "Name"); ViewBag.StateID = new SelectList(db.State_Master.OrderBy(m => m.Name), "ID", "Name"); ViewBag.StateEnrolled = new SelectList(db.State_Master.OrderBy(m => m.Name), "ID", "Name"); return(View()); }
public ActionResult Success(decimal planId, string payerId, string paymentId) { try { decimal userId = Convert.ToDecimal(UserHelper.GetUserId()); //-----For sending Invoice mail------ decimal recordId = 0; using (LaxNarroEntities ctx = new LaxNarroEntities()) { using (var transaction = ctx.Database.BeginTransaction()) { int?maxInvoice = ctx.User_Transaction_Master.Max(u => u.Invoice_No); Rate_Card rate_card = ctx.Rate_Card.Include(x => x.Plan_Master) .Where(m => m.Plan_Id == planId && m.Status == "Active").FirstOrDefault(); User_Transaction_Master userTransaction = new User_Transaction_Master(); IEnumerable <User_Transaction_Master> userAllTransaction = ctx.User_Transaction_Master .Where(x => x.User_ID == userId); // Set the payer for the payment var paymentExecution = new PaymentExecution() { payer_id = payerId }; // Identify the payment to execute var payment = new Payment() { id = paymentId }; var apiContext = GetAPIContext(); // Execute the Payment var executedPayment = payment.Execute(apiContext, paymentExecution); int?max = userAllTransaction.Max(u => (int?)u.Invoice_No); User_Transaction_Master maxedInvoicedTransaction = userAllTransaction .FirstOrDefault(x => x.User_ID == userId && x.Invoice_No == max); int?maxedInvoiceNo = ctx.User_Transaction_Master.Max(u => (int?)u.Invoice_No); if (executedPayment.state == "approved") { //---------For new payment record (second time payment and so on)------- if (maxedInvoicedTransaction.Payment_Status != "N/A") { userTransaction.Amount = Convert.ToDecimal(rate_card.Amount); DateTime?endDate = maxedInvoicedTransaction.End_Date; string strEndDate = string.Empty; if (endDate != null) { strEndDate = endDate.ToString(); } userTransaction.Start_Date = Convert.ToDateTime(strEndDate); if (rate_card.Plan_Master.Plan == "Yearly") { userTransaction.End_Date = userTransaction.Start_Date.AddYears(1); } else { userTransaction.End_Date = userTransaction.Start_Date.AddYears(2); } if (maxInvoice == null) { userTransaction.Invoice_No = 1; } else { userTransaction.Invoice_No = maxInvoice + 1; } userTransaction.Payment_Date = DateTime.Today; userTransaction.Payment_Method = "Online"; userTransaction.Payment_Status = "Paid"; userTransaction.Paypal_PayerId = payerId; userTransaction.PlanID = rate_card.Plan_Id; userTransaction.Rate_ID = rate_card.Rate_Id; userTransaction.Status = "Active"; userTransaction.Transaction_Status = executedPayment.state; userTransaction.Transection_ID = executedPayment.id; userTransaction.User_ID = userId; ctx.User_Transaction_Master.Add(userTransaction); ctx.SaveChanges(); recordId = userTransaction.Id; } //---------For updating the demo record (First time payment)------- else { maxedInvoicedTransaction.Amount = Convert.ToDecimal(rate_card.Amount); if (rate_card.Plan_Master.Plan == "Yearly") { maxedInvoicedTransaction.End_Date = DateTime.Today.AddYears(1); } else { maxedInvoicedTransaction.End_Date = DateTime.Today.AddYears(2); } if (maxInvoice == null) { maxedInvoicedTransaction.Invoice_No = 1; } else { maxedInvoicedTransaction.Invoice_No = maxInvoice + 1; } maxedInvoicedTransaction.Payment_Date = DateTime.Today; maxedInvoicedTransaction.Payment_Method = "Online"; maxedInvoicedTransaction.Payment_Status = "Paid"; maxedInvoicedTransaction.Paypal_PayerId = payerId; maxedInvoicedTransaction.PlanID = rate_card.Plan_Id; maxedInvoicedTransaction.Rate_ID = rate_card.Rate_Id; //DateTime? endDate = maxedInvoicedTransaction.End_Date; //string strEndDate = string.Empty; //if (endDate != null) // strEndDate = endDate.ToString(); maxedInvoicedTransaction.Start_Date = DateTime.Today; maxedInvoicedTransaction.Status = "Active"; maxedInvoicedTransaction.Transaction_Status = executedPayment.state; maxedInvoicedTransaction.Transection_ID = executedPayment.id; maxedInvoicedTransaction.User_ID = userId; ctx.Entry(maxedInvoicedTransaction).State = EntityState.Modified; ctx.SaveChanges(); recordId = maxedInvoicedTransaction.Id; } PaypalResponse paypalResponse = new PaypalResponse { user_id = userId, Paypal_ReferenceId = executedPayment.id, intent = executedPayment.intent, payer = Convert.ToString(executedPayment.payer), payee = Convert.ToString(executedPayment.payee), note_to_payer = executedPayment.note_to_payer, update_time = executedPayment.update_time, create_time = executedPayment.create_time, response_state = executedPayment.state, failure_reason = executedPayment.failure_reason }; ctx.PaypalResponses.Add(paypalResponse); ctx.SaveChanges(); transaction.Commit(); MailLog user = ctx.MailLogs.FirstOrDefault(x => x.UserID == userId); user.LastReminderStatus = "Deactive"; ctx.SaveChanges(); } Thread thread = new Thread(() => SendInvoice(recordId)); thread.Start(); User_Profile userMail = ctx.User_Profile.Where(p => p.ID == userId).FirstOrDefault(); Thread thread2 = new Thread(() => SendMail(userMail.FirstName, userMail.LastName, userMail.EmailAddress, "", "Lexnarro - Subscription Successful", "~/EmailTemplate/SubscriptionMail.html")); thread2.Start(); //SendMail(userMail.FirstName, userMail.LastName, userMail.EmailAddress, "", // "Lexnarro - Subscription Successful", "~/EmailTemplate/SubscriptionMail.html"); TempData["message"] = ToasterMessage.Message(ToastType.success, "Subscription successful. Thank you."); } } } catch (DbEntityValidationException e) { string errorMessage = string.Empty; foreach (DbEntityValidationResult eve in e.EntityValidationErrors) { Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (DbValidationError ve in eve.ValidationErrors) { Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); errorMessage = ve.ErrorMessage; TempData["message"] = ViewBag.message + ToasterMessage.Message(ToastType.error, errorMessage); } } } catch (Exception r) { TempData["message"] = ToasterMessage.Message(ToastType.error, "Something went wrong"); } return(RedirectToAction("Index")); }
public ReturnData PostTransaction(string email, string Plan_ID, string payerId, string Rate_Id, string paymentId, string Amount, string Transection_ID) { ReturnData rd = new ReturnData(); if (email == string.Empty || Plan_ID == string.Empty || payerId == string.Empty || paymentId == string.Empty || Rate_Id == string.Empty || Amount == string.Empty || Transection_ID == string.Empty) { rd.Status = "Failure"; rd.Message = "Missing Parameters"; rd.Requestkey = "PostTransactions"; return(rd); } try { decimal userId = db.User_Profile.Where(x => x.EmailAddress == email).Select(x => x.ID).First(); //-----For sending Invoice mail------ decimal recordId = 0; decimal planId = Convert.ToDecimal(Plan_ID); using (LaxNarroEntities ctx = new LaxNarroEntities()) { using (var transaction = ctx.Database.BeginTransaction()) { int?maxInvoice = ctx.User_Transaction_Master.Max(u => u.Invoice_No); Rate_Card rate_card = ctx.Rate_Card.Include(x => x.Plan_Master) .Where(m => m.Plan_Id == planId && m.Status == "Active" && m.Plan_Master.Plan != "Demo").FirstOrDefault(); if (rate_card == null) { rd.Status = "Failure"; rd.Message = "Invalid Plan (Demo)"; rd.Requestkey = "PostTransactions"; return(rd); } //if(rate_card.Amount !=Convert.ToDecimal(Amount)) //{ // PaypalResponse paypalResponse1 = new PaypalResponse // { // user_id = userId, // Paypal_ReferenceId = paymentId, // intent = "sale", // payer = "Android", // payee = string.Empty, // note_to_payer = "From Android", // update_time = Convert.ToString(DateTime.Today), // create_time = Convert.ToString(DateTime.Today), // response_state = "created", // failure_reason = "Invalid Amount" // }; // ctx.PaypalResponses.Add(paypalResponse1); // ctx.SaveChanges(); // transaction.Commit(); // rd.Status = "Failure"; // rd.Message = "Invalid Amount"; // rd.Requestkey = "PostTransactions"; // return rd; //} User_Transaction_Master userTransaction = new User_Transaction_Master(); List <User_Transaction_Master> userAllTransaction = ctx.User_Transaction_Master .Where(x => x.User_ID == userId).ToList(); // Set the payer for the payment var paymentExecution = new PaymentExecution() { payer_id = payerId }; // Identify the payment to execute var payment = new Payment() { id = paymentId }; //var apiContext = GetAPIContext(); // Execute the Payment //var executedPayment = payment.Execute(apiContext, paymentExecution); int?max = userAllTransaction.Max(u => (int?)u.Invoice_No); User_Transaction_Master maxedInvoicedTransaction = userAllTransaction .FirstOrDefault(x => x.User_ID == userId && x.Invoice_No == max); int?maxedInvoiceNo = ctx.User_Transaction_Master.Max(u => (int?)u.Invoice_No); //if (executedPayment.state == "approved") //{ //---------For new payment record (second time payment and so on)------- if (maxedInvoicedTransaction.Payment_Status != "N/A") { userTransaction.Amount = Convert.ToDecimal(rate_card.Amount); DateTime?endDate = maxedInvoicedTransaction.End_Date; string strEndDate = string.Empty; if (endDate != null) { strEndDate = endDate.ToString(); } userTransaction.Start_Date = Convert.ToDateTime(strEndDate); if (rate_card.Plan_Master.Plan == "Yearly") { userTransaction.End_Date = userTransaction.Start_Date.AddYears(1); } else { userTransaction.End_Date = userTransaction.Start_Date.AddYears(2); } if (maxInvoice == null) { userTransaction.Invoice_No = 1; } else { userTransaction.Invoice_No = maxInvoice + 1; } userTransaction.Payment_Date = DateTime.Today; userTransaction.Payment_Method = "Online"; userTransaction.Payment_Status = "Paid"; userTransaction.Paypal_PayerId = payerId; userTransaction.PlanID = rate_card.Plan_Id; userTransaction.Rate_ID = rate_card.Rate_Id; userTransaction.Status = "Active"; userTransaction.Transaction_Status = "approved"; userTransaction.Transection_ID = Transection_ID; userTransaction.User_ID = userId; ctx.User_Transaction_Master.Add(userTransaction); ctx.SaveChanges(); recordId = userTransaction.Id; rd.Status = "Success"; rd.Message = "Transaction Saved"; rd.Requestkey = "PostTransactions"; //return rd; } //---------For updating the demo record (First time payment)------- else { maxedInvoicedTransaction.Amount = Convert.ToDecimal(rate_card.Amount); if (rate_card.Plan_Master.Plan == "Yearly") { maxedInvoicedTransaction.End_Date = DateTime.Today.AddYears(1); } else { maxedInvoicedTransaction.End_Date = DateTime.Today.AddYears(2); } if (maxInvoice == null) { maxedInvoicedTransaction.Invoice_No = 1; } else { maxedInvoicedTransaction.Invoice_No = maxInvoice + 1; } maxedInvoicedTransaction.Payment_Date = DateTime.Today; maxedInvoicedTransaction.Payment_Method = "Online"; maxedInvoicedTransaction.Payment_Status = "Paid"; maxedInvoicedTransaction.Paypal_PayerId = payerId; maxedInvoicedTransaction.PlanID = rate_card.Plan_Id; maxedInvoicedTransaction.Rate_ID = rate_card.Rate_Id; //DateTime? endDate = maxedInvoicedTransaction.End_Date; //string strEndDate = string.Empty; //if (endDate != null) // strEndDate = endDate.ToString(); maxedInvoicedTransaction.Start_Date = DateTime.Today; maxedInvoicedTransaction.Status = "Active"; maxedInvoicedTransaction.Transaction_Status = "approved"; maxedInvoicedTransaction.Transection_ID = Transection_ID; maxedInvoicedTransaction.User_ID = userId; ctx.Entry(maxedInvoicedTransaction).State = EntityState.Modified; ctx.SaveChanges(); recordId = maxedInvoicedTransaction.Id; rd.Status = "Success"; rd.Message = "Transaction Saved"; rd.Requestkey = "PostTransactions"; //return rd; } PaypalResponse paypalResponse = new PaypalResponse { user_id = userId, Paypal_ReferenceId = paymentId, intent = "sale", payer = "Android", payee = string.Empty, note_to_payer = "From Android", update_time = Convert.ToString(DateTime.Today), create_time = Convert.ToString(DateTime.Today), response_state = "approved", failure_reason = string.Empty }; ctx.PaypalResponses.Add(paypalResponse); ctx.SaveChanges(); MailLog user = ctx.MailLogs.FirstOrDefault(x => x.UserID == userId); if (user != null) { user.LastReminderStatus = "Deactive"; ctx.SaveChanges(); } transaction.Commit(); } Thread thread = new Thread(() => SendInvoice(recordId, userId)); thread.Start(); User_Profile userMail = ctx.User_Profile.Where(p => p.ID == userId).FirstOrDefault(); Thread thread2 = new Thread(() => SendMail(userMail.FirstName, userMail.LastName, userMail.EmailAddress, "", "Lexnarro - Subscription Successful", "~/EmailTemplate/SubscriptionMail.html")); thread2.Start(); return(rd); } } //catch (DbEntityValidationException e) //{ // string errorMessage = string.Empty; // foreach (DbEntityValidationResult eve in e.EntityValidationErrors) // { // Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", // eve.Entry.Entity.GetType().Name, eve.Entry.State); // foreach (DbValidationError ve in eve.ValidationErrors) // { // Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", // ve.PropertyName, ve.ErrorMessage); // errorMessage = ve.ErrorMessage; // //TempData["message"] = ViewBag.message + ToasterMessage.Message(ToastType.error, errorMessage); // } // } //} catch (Exception r) { rd.Status = "Failure"; rd.Message = "Something went wrong. Please contact administrator"; rd.Requestkey = "PostTransactions"; return(rd); } }
public ActionResult Create([Bind(Include = "ID,FirstName,LastName,OtherName,StreetNumber,StreetName,PostCode,Suburb,StateID,CountryID,Address,StateEnrolled,LawSocietyNumber,EmailAddress,PhoneNumber,UserName,Password,Date,Role_id")] User_Profile user_Profile) { try { if (ModelState.IsValid) { var getName = db.User_Profile.Where(u => u.EmailAddress == user_Profile.EmailAddress).ToList(); if (getName.Count > 0) { ViewBag.message = @"<script type='text/javascript' language='javascript'>alert('User already registered.') </script>"; } else { using (var transaction = db.Database.BeginTransaction()) { user_Profile.Date = DateTime.Today; user_Profile.Device_Imei = null; user_Profile.Device_Token = null; user_Profile.Device_Type = null; user_Profile.UserName = user_Profile.EmailAddress; user_Profile.Role_id = 1; user_Profile.AccountConfirmed = "No"; Guid activationCode = Guid.NewGuid(); user_Profile.ActivationCode = activationCode; //----For server---- string activationLink = Request.Url.Scheme + "://" + Request.Url.Authority + "/Lexnarro/Signup/ConfirmAccount/" + activationCode; //----For Local---- //string activationLink = Request.Url.Scheme + "://" + Request.Url.Authority + "/Signup/ConfirmAccount/" + activationCode; db.User_Profile.Add(user_Profile); db.SaveChanges(); decimal id = user_Profile.ID; var user_Transaction_Master = new User_Transaction_Master(); var plan_id = db.Plan_Master.FirstOrDefault(x => x.Plan == "Demo"); decimal planID = Convert.ToDecimal(plan_id.Plan_ID); var rate_id = db.Rate_Card.FirstOrDefault(x => x.Plan_Id == planID); decimal rateID = Convert.ToDecimal(rate_id.Rate_Id); user_Transaction_Master.Rate_ID = rateID; //******************** user_Transaction_Master.User_ID = id; user_Transaction_Master.PlanID = planID; //******************** user_Transaction_Master.Amount = 0; user_Transaction_Master.Start_Date = DateTime.Today; user_Transaction_Master.End_Date = DateTime.Today.AddMonths(3); user_Transaction_Master.Payment_Status = "N/A"; user_Transaction_Master.Transection_ID = null; user_Transaction_Master.Status = "Active"; user_Transaction_Master.Payment_Date = null; user_Transaction_Master.Invoice_No = null; user_Transaction_Master.Payment_Method = "N/A"; db.User_Transaction_Master.Add(user_Transaction_Master); db.SaveChanges(); var mailLog = new MailLog(); mailLog.UserID = id; mailLog.ReminderOne = DateTime.Today.AddDays(2); mailLog.ReminderTwo = DateTime.Today.AddDays(7); mailLog.ReminderThree = DateTime.Today.AddDays(14); mailLog.ReminderFour = DateTime.Today.AddDays(30); mailLog.ReminderFive = DateTime.Today.AddDays(60); mailLog.ReminderSix = DateTime.Today.AddDays(90); db.MailLogs.Add(mailLog); db.SaveChanges(); transaction.Commit(); SendMail(user_Profile.FirstName, user_Profile.LastName, user_Profile.EmailAddress, activationLink, "~/EmailTemplate/SignupConfirmation.html"); ViewBag.message = @"<script type='text/javascript' language='javascript'>alert(""Registration successful. Check your email for account activation."") window.location.href = ""~/../../Home/Login"";</script>"; } } } } catch (Exception ex) { ViewBag.message = @"<script type='text/javascript' language='javascript'>alert(""Something went Wrong..!!"")</script>"; } ViewBag.CountryID = new SelectList(db.Country_Master.OrderBy(z => z.Name), "ID", "Name", user_Profile.CountryID); ViewBag.Role_id = new SelectList(db.Role_Master.OrderBy(z => z.Name), "Id", "Name", user_Profile.Role_id); ViewBag.StateID = new SelectList(db.State_Master.OrderBy(z => z.Name), "ID", "Name", user_Profile.StateID); ViewBag.StateEnrolled = new SelectList(db.State_Master.OrderBy(z => z.Name), "ID", "Name", user_Profile.StateID); return(View()); }
private void CheckSubscriptionStatusAndDoStuff() { try { using (LaxNarroEntities ctx = new LaxNarroEntities()) { DateTime dt = DateTime.Today; var expiredPlanUsers = (from s in db.ExpiredPlanUserMailLogs where s.NextReminderDueDate <= dt select s).ToList(); User_Transaction_Master userTransaction = db.User_Transaction_Master.Include(u => u.User_Profile). Include(u => u.Rate_Card).Include(u => u.Plan_Master).Where(u => u.Id == expiredPlanUsers[0].UserID).SingleOrDefault(); for (int i = 0; i < expiredPlanUsers.Count; i++) { switch (expiredPlanUsers[i].ReminderType) { case "N/A": // Write Code to Sent Reminder One. //________________________________ expiredPlanUsers[i].UserID = expiredPlanUsers[i].UserID; expiredPlanUsers[i].ReminderType = "First"; expiredPlanUsers[i].ReminderDate = dt; expiredPlanUsers[i].ReminderStatus = "Sent"; expiredPlanUsers[i].NextReminderDueDate = Convert.ToDateTime(expiredPlanUsers[i].NextReminderDueDate).AddMonths(5); expiredPlanUsers[i].RecordOperationDate = dt; db.Entry(expiredPlanUsers[i]).State = EntityState.Modified; db.SaveChanges(); SendResubMail(userTransaction.User_Profile.FirstName, userTransaction.User_Profile.LastName, userTransaction.User_Profile.EmailAddress, userTransaction.User_ID, userTransaction.End_Date, "~/EmailTemplate/ResubscriptionMail.html"); break; case "First": // Write Code to Sent Reminder Two. //________________________________ expiredPlanUsers[i].UserID = expiredPlanUsers[i].UserID; expiredPlanUsers[i].ReminderType = "Second"; expiredPlanUsers[i].ReminderDate = dt; expiredPlanUsers[i].ReminderStatus = "Sent"; expiredPlanUsers[i].NextReminderDueDate = Convert.ToDateTime(expiredPlanUsers[i].NextReminderDueDate).AddMonths(1).AddDays(-1); expiredPlanUsers[i].RecordOperationDate = dt; db.Entry(expiredPlanUsers[i]).State = EntityState.Modified; db.SaveChanges(); SendResubMail(userTransaction.User_Profile.FirstName, userTransaction.User_Profile.LastName, userTransaction.User_Profile.EmailAddress, userTransaction.User_ID, userTransaction.End_Date, "~/EmailTemplate/ResubscriptionMail.html"); break; } } } } catch (Exception r) { //throw; } }