示例#1
0
        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);
        }
示例#2
0
        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());
        }
示例#3
0
        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));
        }