public ActionResult Details(string id) { if (string.IsNullOrEmpty(id)) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var planService = new StripePlanService(); var p = planService.Get(id); var plan = new PlanDetailViewModel { Id = p.Id, Name = p.Name, Amount = p.Amount, Currency = p.Currency, Interval = p.Interval, IntervalCount = p.IntervalCount, LiveMode = p.LiveMode, TrialPeriodDays = p.TrialPeriodDays, StatementDescriptor = p.StatementDescriptor, Created = p.Created, Metadata = p.Metadata }; return(View(plan)); }
public ActionResult Save(PlanViewModel plan, int PlanMasterId, List <PlanDetailViewModel> planDetailList) { if (ModelState.IsValid) { #region //B1: Cập nhật Master PlanModel planModel = _context.PlanModel.Where(p => p.PlanMasterId == PlanMasterId).FirstOrDefault(); planModel.FromTime = plan.FromTime; planModel.ToTime = plan.ToTime; #endregion //B1: Cập nhật Master #region //B2: Cập nhật Detail //TH1: Cũ không có trong mới -> Delete List <PlanDetailModel> detailList = _context.PlanDetailModel.Where(y => y.PlanMasterId == PlanMasterId).ToList(); foreach (var item in detailList) { PlanDetailViewModel pdVM = planDetailList.Where(z => z.PlanDetailId == item.PlanDetailId).FirstOrDefault(); if (pdVM == null) { _context.Entry(item).State = EntityState.Deleted; } } foreach (var item in planDetailList) { //TH2: Mới có trong cũ -> Modify PlanDetailModel planDetail = _context.PlanDetailModel.Where(x => x.PlanDetailId == item.PlanDetailId).FirstOrDefault(); if (planDetail != null) { planDetail.TimeFrame = item.TimeFrame; planDetail.AmountOfCus = item.AmountOfCus; _context.Entry(planDetail).State = System.Data.Entity.EntityState.Modified; } //TH3: Mới không có trong cũ -> Add else { planDetail = new PlanDetailModel(); planDetail.PlanMasterId = PlanMasterId; planDetail.TimeFrame = item.TimeFrame; planDetail.AmountOfCus = item.AmountOfCus; _context.Entry(planDetail).State = System.Data.Entity.EntityState.Added; } } #endregion //B2: Cập nhật Detail #region //B3: Cập nhật Master & Detail _context.Entry(planModel).State = EntityState.Modified; _context.SaveChanges(); #endregion //B3: Cập nhật Master & Detail return(Json(new { result = true }, JsonRequestBehavior.AllowGet)); } return(Json(new { result = false }, JsonRequestBehavior.AllowGet)); }
public ActionResult GetWorkingTime(TimeSpan WorkingFromTime, TimeSpan WorkingToTime, int PlanMasterId) { //Set 2 hours interval TimeSpan Interval1 = new TimeSpan(2, 0, 0); TimeSpan Interval2 = new TimeSpan(-2, 0, 0); //Set 1 hours interval TimeSpan Interval3 = new TimeSpan(-1, 0, 0); //Hiển thị danh sách khung giờ theo ngày, giờ bắt đầu và giờ kết thúc var detailList = _context.PlanDetailModel.Where(p => p.PlanMasterId == PlanMasterId).ToList(); List <PlanDetailViewModel> planDetailList = new List <PlanDetailViewModel>(); var plan = _context.PlanModel.Where(p => p.PlanMasterId == PlanMasterId).FirstOrDefault(); double wfromTime = WorkingFromTime.TotalHours; double wtoTime = WorkingToTime.TotalHours; //Có khung giờ trong Db và giờ bắt đầu và giờ kết thúc được chọn giống trong DB if (detailList.Count > 0 && WorkingFromTime == plan.FromTime && WorkingToTime == plan.ToTime) { //Load thông tin khung giờ trong db foreach (var item in detailList) { PlanDetailViewModel planDetail = new PlanDetailViewModel(); planDetail.PlanMasterId = PlanMasterId; planDetail.PlanDetailId = item.PlanDetailId; planDetail.TimeFrame = item.TimeFrame; planDetail.TimeFrameString = string.Format("{0:HH:mm}", DateTime.Parse(item.TimeFrame.ToString())); planDetail.AmountOfCus = item.AmountOfCus; planDetailList.Add(planDetail); } } //Các trường hợp còn lại => Thêm mới khung giờ làm việc else { //Nếu khung giờ có thể chia thành 2 tiếng => Giữ nguyên WorkingToTime //Ngược lại => WorkingToTime trừ đi 2 tiếng if ((wtoTime - wfromTime) % 2 != 0) { WorkingToTime = WorkingToTime.Add(Interval2); } WorkingFromTime = WorkingFromTime.Add(Interval2); while (WorkingFromTime < WorkingToTime) { //Khung giờ WorkingFromTime = WorkingFromTime.Add(Interval1); var modelAdd = new PlanDetailViewModel(); //Giờ modelAdd.TimeFrameString = string.Format("{0:HH:mm}", DateTime.Parse(WorkingFromTime.ToString())); modelAdd.TimeFrame = WorkingFromTime; planDetailList.Add(modelAdd); } } return(PartialView(planDetailList.OrderBy(p => p.TimeFrame))); }
public IActionResult CreateDetail(PlanDetailViewModel model) { ViewBag.Plans = _planRepository.GetAllPlans(); if (ModelState.IsValid) { var planDetail = _mapper.Map <PlanDetailViewModel, PlanDetail>(model); planDetail.AddedBy = _admin.Fullname; _planRepository.CreateDetail(planDetail); return(RedirectToAction("detailtable")); } return(View(model)); }
public ActionResult GetMealPlan(int planId) { PlanDetailViewModel planDetail = new PlanDetailViewModel(); if (IsAuthenticated) { _nextView = "MealPlanDetail"; planDetail.Plan = _dal.GetPlanByPlanId(planId); for (int i = 0; i <= 6; i++) { planDetail.MealsOnDays.Add(_dal.GetMealsOnDay(planId, i)); } } return(GetAuthenticatedView(_nextView, planDetail)); }
public ActionResult ModifyPlan(int planId) { PlanDetailViewModel planDetail = new PlanDetailViewModel(); if (IsAuthenticated) { _nextView = "ModifyMealPlan"; planDetail.Plan = _dal.GetPlanByPlanId(planId); planDetail.AllMeals = _dal.GetAllMealsByUserId((int)Session[UserKey]); for (int i = 0; i <= 6; i++) { planDetail.MealsOnDays.Add(_dal.GetMealsOnDay(planId, i)); } } return(GetAuthenticatedView(_nextView, planDetail)); }
public IActionResult EditDetail(PlanDetailViewModel model) { ViewBag.Plans = _planRepository.GetAllPlans(); if (ModelState.IsValid) { var planDetail = _mapper.Map <PlanDetailViewModel, PlanDetail>(model); var detailToUpdate = _planRepository.GetDetailById(model.Id); if (detailToUpdate == null) { return(NotFound()); } detailToUpdate.ModifiedBy = _admin.Fullname; _planRepository.UpdtadeDetail(detailToUpdate, planDetail); return(RedirectToAction("detailtable")); } return(View(model)); }
public ActionResult ModifyPlan(PlanDetailViewModel planDetail) { return(RedirectToAction("GetMealPlan", new { planId = planDetail.Plan.PlanId })); }