public IHttpActionResult Post(SKUModel sku)
        {
            ApplyPromotion promotion = new ApplyPromotion();//Add unity for DI
            var            result    = promotion.GetCartPrice(sku);

            return(Ok(result));
        }
Esempio n. 2
0
        public static bool UpdateSKU(SKUModel order)
        {
            bool   returnresponse   = false;
            string simactivationURi = System.Configuration.ConfigurationManager.AppSettings["rooturi"] + "Order/UpdateSKU";
            string token            = System.Web.HttpContext.Current.Session["BearerToken"].ToString();

            try
            {
                using (var client = new HttpClient())
                {
                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
                    var resp = client.PostAsJsonAsync(simactivationURi, order);
                    resp.Wait(TimeSpan.FromSeconds(10));
                    if (resp.IsCompleted)
                    {
                        if (resp.Result.StatusCode == HttpStatusCode.Unauthorized)
                        {
                            Console.WriteLine("Authorization failed. Token expired or invalid.");
                        }
                        else
                        {
                            var response = resp.Result.Content.ReadAsStringAsync().Result;
                            returnresponse = JsonConvert.DeserializeObject <bool>(response);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                //  response = ex.Message;
            }
            return(returnresponse);
        }
Esempio n. 3
0
        public void WhenCalling_CalculateInvoice_WithValidDataIII()
        {
            SKUModel sKUModel = new SKUModel();

            sKUModel.QuatityOfA = 5;
            sKUModel.QuatityOfB = 5;
            sKUModel.QuatityOfC = 1;

            var result = promotionEngineObj.CalculateInvoice(sKUModel);

            Assert.AreEqual(result, 370);
        }
        public static async Task <string> RetireExistingSKU(SKUModel selectedorder)
        {
            string returnmessage = string.Empty;
            string BaseUri       = System.Configuration.ConfigurationManager.AppSettings["baseUri"] + System.Configuration.ConfigurationManager.AppSettings["rootSite"];

            using (HttpClient client = new HttpClient())
            {
                client.BaseAddress = new Uri(BaseUri);
                HttpResponseMessage response = client.PostAsJsonAsync("inventorycontrol/MintServiceOrder/RemoveSKU", selectedorder).Result;
                if (response.IsSuccessStatusCode)
                {
                    returnmessage = Convert.ToString(await response.Content.ReadAsStringAsync());
                }
            }
            return(returnmessage);
        }
Esempio n. 5
0
        public SKUModel GetEmptySku()
        {
            var sku = new SKUModel();

            sku.listStaticCategory      = dataService.ListStaticCategoryes();
            sku.listStaticSpecification = dataService.ListStaticSpecification();
            sku.listStaticBrand         = dataService.ListBrands();
            sku.menu = BuildMenu(sku.listStaticCategory);

            sku.listCategory      = new List <Category>();
            sku.listComment       = new List <Comment>();
            sku.listPhoto         = new List <PhotoBig>();
            sku.listSpecification = new List <Specification>();

            return(sku);
        }
Esempio n. 6
0
        public SKUModel BuildSkuModel(long idSku)
        {
            var skuModel = new SKUModel();
            var sku      = dataService.GetSkuById(idSku);

            if (sku != null)
            {
                var u = AccountAdminModelBuilder.BuildOneUser(WebSecurity.CurrentUserName);
                skuModel = SKUModelBuilder.ConvertSkuBDToSkuModel(sku);
                if (u != null && u.Discount > 0)
                {
                    skuModel.priceAct = skuModel.priceAct - ((skuModel.priceAct / 100) * u.Discount);
                }
            }
            skuModel.menu = BuildMenu();
            return(skuModel);
        }
Esempio n. 7
0
        public SKUModel BuildSkuModel(long idSku)
        {
            var skuModel = new SKUModel();
            var sku = dataService.GetSkuById(idSku);
            if (sku!=null)
            {
                 var u = AccountAdminModelBuilder.BuildOneUser(WebSecurity.CurrentUserName);
                 skuModel = SKUModelBuilder.ConvertSkuBDToSkuModel(sku);
                if (u != null && u.Discount > 0)
                {
                    skuModel.priceAct = skuModel.priceAct - ((skuModel.priceAct/100)*u.Discount);
                }

            }
            skuModel.menu = BuildMenu();
            return skuModel;
        }
Esempio n. 8
0
        public int GetCartPrice(SKUModel sku)
        {
            int total = 0;
            IList <PromotionModel> promotion = new List <PromotionModel>();
            IList <SKUPriceModel>  SKUPrice  = new List <SKUPriceModel>();
            PromotionModel         pModel    = new PromotionModel();
            SKUPriceModel          sModel    = new SKUPriceModel();

            for (int i = 0; i < pModel.Item.Length; i++)
            {
                var unit = from u in promotion
                           where u.Item.Equals(pModel.Item)
                           select u.Unit;
                var PromoPrice = from p in promotion
                                 where p.Item.Equals(pModel.Item)
                                 select p.PromoPrice;
                var UnitPrice = from up in SKUPrice
                                where up.Item.Equals(pModel.Item)
                                select up.UnitPrice;
                switch (pModel.Item)
                {
                case "A":
                    total += (sku.A / unit.FirstOrDefault()) * PromoPrice.FirstOrDefault() + (sku.A % unit.FirstOrDefault()) * UnitPrice.FirstOrDefault();
                    break;

                case "B":
                    total += (sku.B / pModel.Unit) * PromoPrice.FirstOrDefault() + (sku.B % unit.FirstOrDefault()) * UnitPrice.FirstOrDefault();
                    break;

                case "CD":
                    if (sku.C > sku.D)
                    {
                        total += sku.D * PromoPrice.FirstOrDefault() + (sku.C - sku.D) * SKUPrice.Single(c => c.Item.Equals("C")).UnitPrice;
                    }
                    else
                    {
                        total += sku.C * PromoPrice.FirstOrDefault() + (sku.D - sku.C) * SKUPrice.Single(d => d.Item.Equals("D")).UnitPrice;
                    }
                    break;
                }
            }
            return(total);
        }
Esempio n. 9
0
        public ActionResult AddOrUpdateSku(SKUModel sku)
        {
            var message = string.Empty;

            try
            {
                if (ModelState.IsValid)
                {
                    var id = dataService.AddOrUpdateSKU(sku.GetSKUDB());
                    if (id > 0)
                    {
                        return(RedirectToAction("SkuData", new { id = id }));
                    }
                }
            }
            catch (Exception err)
            {
                message = err.Message;
            }

            return(Content("Товар НЕ сохранен " + message, "text/html"));
        }
Esempio n. 10
0
        public ActionResult RemoveSpecificationFromSKU(long idSku, long idSpec)
        {
            SKUModel result = null;

            try
            {
                if (dataService.RemoveSpecificationFromSKU(idSku, idSpec))
                {
                    var skuDB = dataService.GetSkuById(idSku);
                    result = skuDB != null?skuModelBuilder.ConvertSkuBDToSkuModel(skuDB) : skuModelBuilder.GetEmptySku();
                }
                else
                {
                    return(Content("Спецификация НЕ удалена", "text/html"));
                }
            }
            catch (Exception err)
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(Content("Спецификация НЕ удалена " + err, "text/html"));
            }

            return(PartialView("SkuListSpecificationPartial", result.listSpecification));
        }
Esempio n. 11
0
        public ActionResult RemoveSKUFromCategory(long idSku, long idCat)
        {
            SKUModel result = null;

            try
            {
                if (dataService.RemoveSKUFromCategory(idSku, idCat))
                {
                    var skuDB = dataService.GetSkuById(idSku);
                    result = skuDB != null?skuModelBuilder.ConvertSkuBDToSkuModel(skuDB) : skuModelBuilder.GetEmptySku();
                }
                else
                {
                    return(Content("Категория НЕ удалена", "text/html"));
                }
            }
            catch (Exception err)
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(Content("Категория НЕ удалена " + err, "text/html"));
            }

            return(PartialView("SkuListCategoriesPartial", result.listCategory));
        }
Esempio n. 12
0
        public ActionResult SkuData(long?id)
        {
            var result = new SKUModel();

            try
            {
                if (id.HasValue)
                {
                    var skuDB = dataService.GetSkuById(id.Value);

                    result = skuDB != null?skuModelBuilder.ConvertSkuBDToSkuModel(skuDB) : skuModelBuilder.GetEmptySku();
                }
                else
                {
                    result = skuModelBuilder.GetEmptySku();
                }
            }
            catch (Exception err)
            {
                return(View("MessagesPartial", "Ошибка " + err.Message));
            }

            return(View("SkuData", result));
        }
        public ActionResult RemoveSKU(SKUModel skumodel)
        {
            var result = RetireSKU.RetireExistingSKU(skumodel).Result;

            return(View("Index", "ManageOrders"));
        }
Esempio n. 14
0
        public SKUModel GetEmptySku()
        {
            var sku = new SKUModel();
            sku.listStaticCategory = dataService.ListStaticCategoryes();
            sku.listStaticSpecification = dataService.ListStaticSpecification();
            sku.listStaticBrand = dataService.ListBrands();
            sku.menu = BuildMenu(sku.listStaticCategory);

            sku.listCategory=new List<Category>();
            sku.listComment=new List<Comment>();
            sku.listPhoto=new List<PhotoBig>();
            sku.listSpecification=new List<Specification>();

            return sku;
        }