public static CartPharmOrder PrepareCartPharmOrderEntity(this PharmOrderModel model, int profileId) { var entity = new CartPharmOrder { ProfileId = profileId, TakenByOwner = model.TakenByOwner, OwnerAge = model.OwnerAge, HasOtherCondMed = model.HasCondition, OtherCondMed = model.OwnerCondition }; return(entity); }
public ActionResult ConfirmPharmForm(PharmOrderModel model) { if (_workContext.CurrentProfile.IsAnonymous) { return(new HttpUnauthorizedResult()); } int profileId = _workContext.CurrentProfile.Id; var entity = model.PrepareCartPharmOrderEntity(profileId); for (int i = 0; i < model.PharmItems.Count; i++) { entity.Items.Add(model.PharmItems[i].PrepareCartPharmItemEntity()); } _cartService.ProcessCartPharmOrder(entity); return(View()); }
public ActionResult PharmForm() { if (_workContext.CurrentProfile.IsAnonymous) { return(new HttpUnauthorizedResult()); } int profileId = _workContext.CurrentProfile.Id; bool hasPharmItem = _cartService.HasPharmItem(profileId); if (hasPharmItem == false) { return(RedirectToRoute("Shopping Cart")); } var pharmItems = _cartService.GetCartItemOverviewModelByProfileId(profileId, autoRemovePhoneOrderItems: true, isPharmaceutical: true); var model = new PharmOrderModel(); // Owner ages for (int i = 1; i <= 100; i++) { model.OwnerAges.Add(new SelectListItem { Text = i.ToString(), Value = i.ToString(), }); } model.OwnerAges.Insert(0, new SelectListItem { Text = "< 1 year", Value = "< 1 year" }); model.OwnerAges.Insert(0, new SelectListItem { Text = "Years", Value = "" }); // Load pharm items for (int i = 0; i < pharmItems.Count; i++) { var codeineMessage = string.Empty; if (_productService.BelongToThisProductGroup(pharmItems[i].ProductId, Convert.ToInt32(ProductGroupType.Codeine))) { codeineMessage = "This item contains codeine. It should not be used for longer than 3 days, if symptoms persist please contact your doctor. Please be aware codeine can be addictive."; } var item = new PharmItemModel { Name = pharmItems[i].Name, ProductId = pharmItems[i].ProductId, ProductPriceId = pharmItems[i].ProductPriceId, Note = codeineMessage }; // Owner ages for (int j = 1; j <= 100; j++) { item.AvailableAges.Add(new SelectListItem { Text = j.ToString(), Value = j.ToString(), }); } item.AvailableAges.Insert(0, new SelectListItem { Text = "< 1 year", Value = "< 1 year" }); item.AvailableAges.Insert(0, new SelectListItem { Text = "Years", Value = "" }); // Persisted for for (int k = 1; k <= 120; k++) { item.AvailablePersistedInDays.Add(new SelectListItem { Text = k.ToString(), Value = k.ToString(), }); } item.AvailablePersistedInDays.Add(new SelectListItem { Text = "> 120 days", Value = "> 120 days" }); item.AvailablePersistedInDays.Insert(0, new SelectListItem { Text = "Days", Value = "" }); // Taken quantity for (int l = 1; l < 11; l++) { item.AvailableTakenQuantity.Add(new SelectListItem { Text = l.ToString(), Value = l.ToString(), }); } item.AvailableTakenQuantity.Add(new SelectListItem { Text = "> 10", Value = "> 10" }); model.PharmItems.Add(item); } return(View(model)); }