public IHttpActionResult Post(SKUModel sku) { ApplyPromotion promotion = new ApplyPromotion();//Add unity for DI var result = promotion.GetCartPrice(sku); return(Ok(result)); }
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); }
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); }
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); }
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); }
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; }
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); }
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")); }
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)); }
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)); }
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")); }
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; }