public async Task <IActionResult> Update(long id, [FromBody] Promos item) { // set bad request if contact data is not provided in body if (item == null || id == 0) { return(BadRequest()); } var details = await _context.Promos.SingleOrDefaultAsync(t => t.Id == id); if (details == null) { return(NotFound()); } details.PromID = item.PromID; details.Promoname = item.Promoname; details.Price = item.Price; details.PromoDescription = item.PromoDescription; details.GroupId = item.GroupId; details.IsPromoRecurring = item.IsPromoRecurring; details.RecurringPromoId = item.RecurringPromoId; details.Spiel = item.Spiel; details.UpdatedAt = DateTime.Now; if (await _context.SaveChangesAsync() > 0) { return(Ok(new { message = "Hi Renzen Promo is updated successfully.", details })); } return(Ok(new { message = "failed." })); }
/// <summary> /// Load Promos /// </summary> /// <returns></returns> private Promos LoadPromoTestData() { var firstPromo = new Promo { PromoID = "1", Day = 1, TotalQty = 1, MaxLink = 2, Amount = 10 }; var secondPromo = new Promo { PromoID = "2", Day = 1, TotalQty = 1, MaxLink = 2, Amount = 20 }; var promos = new Promos { { firstPromo, "" }, { secondPromo, "" } }; return(promos); }
// to clear all promotions before reloading them /// <summary> /// Method to clear all promos /// </summary> /// <returns></returns> public bool Clear_AllPromos(ref Promos promos) { var dateStart = DateTime.Now; Performancelog.Debug($"Start,PromoManager,Clear_AllPromos,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}"); var promoIDs = GetPromosForToday().Select(p => p.PromoID).ToList(); if (promoIDs.Count != promos.Count) { Performancelog.Debug($"End,PromoManager,Clear_AllPromos,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(false); } foreach (var promoId in promoIDs) { var strKey = promoId; if (!string.IsNullOrEmpty(strKey)) { promos.Remove(strKey); } } Performancelog.Debug($"End,PromoManager,Clear_AllPromos,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(true); }
public (Promos promos, Exception exception) Updatepromos(Promos _promos) { Promos promos = this.Promos.SingleOrDefault((Promos promos) => promos.Id == _promos.Id); if (promos == null) { return(null, new ArgumentNullException($"promos with id: {_promos.Id} not found")); } if (_promos.Id != 0) { promos.Name = _promos.Name; promos.Value = _promos.Value; } try { _db.SaveChanges(); } catch (Exception e) { return(null, new DbUpdateException($"Cannot save changes: {e.Message}")); } return(_promos, null); }
public Promos AddPromo(string name, int value, int ProductId, int BrandId, int Category, bool IsEnabled) { Promos promo = ToEntity(name, value, ProductId, BrandId, Category, IsEnabled); if (name.Contains("brand"))//(promo.BrandId != 0) { //string brandName = "brand"; //_brandsService.AddPromoForBrand(promo.Id, promo.Name/*brandName*/, promo.UniversalId, promo.IsEnabled); } if (name.Contains("product"))//(promo.ProductId != 0) { //string brandName = "product"; //_productsService.AddPromoForProduct(promo.Id, promo.Name/*brandName*/, promo.UniversalId, promo.IsEnabled); } if (name.Contains("categori"))//(promo.Category != 0) { //string brandName = "categori"; //_categoriesService.AddPromoForCategories(promo.Id, promo.Name/*brandName*/, promo.UniversalId, promo.IsEnabled); } //Product datadb = _Dataproducts.SingleOrDefault((Product product) => product.Name == name); Promos.Add(promo); try { _db.SaveChanges(); } catch { return(null); } return(promo); }
public IActionResult Put([FromBody] Promos value) { var data = _promosService.Updatepromos(value); if (data.promos == null) { return(BadRequest(data.exception.Message)); } else { return(Ok(data)); } }
public IActionResult Get(int id) { Promos promos = _promosService.GetPromoById(id); if (promos == null) { return(NotFound($"No promo found with id: {id}")); } else { return(Ok(promos)); } }
public IActionResult Post([FromBody] Promos value) { var data = _promosService.AddPromo(value.Name, value.Value, value.ProductId, value.BrandId, value.CategoryId, value.IsEnabled); if (data == null) { return(BadRequest()); } else { return(Ok()); } }
public async Task <IActionResult> Post([FromBody] Promos item) { if (ModelState.IsValid) { await _context.AddAsync(item).ConfigureAwait(false); await _context.SaveChangesAsync().ConfigureAwait(false); } else { return BadRequest(ModelState); } //return Ok(item); return(Ok(new { message = "Promo successfully added." })); }
public PromosDTO ToDTO(Promos promos) { if (promos != null) { return new PromosDTO { Id = promos.Id, Name = promos.Name, Value = promos.Value, IsEnabled = promos.IsEnabled } } ; return(null); }
// Load all the promotions in the Promos collection. Can load a specified promo or all of them /// <summary> /// Method to load all promos /// </summary> /// <param name="optPromoId">PromoID</param> /// <returns>Promos</returns> public Promos Load_Promos(string optPromoId) { var dateStart = DateTime.Now; Performancelog.Debug($"Start,PromoManager,Load_Promos,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}"); var promos = CacheManager.GetPromosForPromoId(optPromoId); if (promos != null && promos.Count != 0) { return(promos); } promos = new Promos(); var store = CacheManager.GetStoreInfo(); var offSet = store?.OffSet ?? 0; var none = _resourceManager.GetResString(offSet, 347); var promoHeaders = _promoService.GetPromoHeadersForToday(optPromoId); foreach (var promoHeader in promoHeaders) { var promo = promoHeader; var promoLines = new Promo_Lines(); //promo.MaxLink = _promoService.GetMaxLink(promo.PromoID); //var noOfLinks = _promoService.GetNumberOfLinks(promo.PromoID); //foreach (var noOfLink in noOfLinks) //{ // if (noOfLink > 1) // { // promo.MultiLink = true; // break; // } //} var promoDetails = _promoService.GetPromoLines(promo.PromoID, none); foreach (var promoDetail in promoDetails) { promoLines.AddLine(promoDetail, ""); } promo.Promo_Lines = promoLines; promos.Add(promo, promo.PromoID); } Performancelog.Debug($"End,PromoManager,Load_Promos,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); CacheManager.AddPromos(optPromoId, promos); return(promos); }
// GET api/Promocion/5 public HttpResponseMessage PostPromos([FromBody] Promos p) { HttpResponseMessage response; try { PromocionService service = (PromocionService) new PromocionService().setDatabase(db); List <Promocion> _p = service.GetPromos(p); response = this.getSuccessResponse(_p); } catch (Exception e) { response = this.getErrorResponse(e); } return(response); }
private async Task <Promos> GetPromosFromUrl(string url, int retry) { try { using (HttpClient client = new HttpClient()) { client.DefaultRequestHeaders.Add("User-Agent", $"KiteBotCore 1.1 GB Discord Bot that calls api every {RefreshRate / 1000} seconds."); Promos json = JsonConvert.DeserializeObject <Promos>(await client.GetStringAsync(url).ConfigureAwait(false)); return(json); } } catch (Exception) { if (++retry < 3) { await Task.Delay(10000).ConfigureAwait(false); return(await GetPromosFromUrl(url, retry).ConfigureAwait(false)); } throw new TimeoutException(); } }
public (bool result, Exception exception) DeletePromoById(int id) { Promos promos = Promos.SingleOrDefault((Promos promos) => promos.Id == id); if (promos == null) { return(false, new ArgumentNullException($"Promo with id: {id} not found")); } EntityEntry <Promos> result = Promos.Remove(promos); try { _db.SaveChanges(); } catch (Exception e) { return(false, new DbUpdateException($"Cannot save changes: {e.Message}")); } return(result.State == EntityState.Deleted, null); }
public List <Promocion> GetPromos(Promos pLista) { List <Promocion> Resul = new List <Promocion>(); List <Promocion> ppLista = this.db.Promocion.ToList(); List <Producto> pListav2 = new List <Producto>(); foreach (Producto pr1 in pLista.Productos) { Producto pr2 = this.db.Producto.Find(pr1.idProducto); pListav2.Add(pr2); } bool aplica = true; decimal sumaProductos = 0; decimal precioProducto = 0; foreach (Promocion _p in ppLista) { foreach (PromocionProducto _pp in _p.PromocionProducto) { bool existe = false; foreach (Producto _prod in pListav2) { if (_prod.idProducto == _pp.idProducto) { existe = true; if (pLista.idMedioPago == 1) { precioProducto = _prod.PrecioContado == null?0:(decimal)_prod.PrecioContado; } else { precioProducto = _prod.PrecioLista == null?0:(decimal)_prod.PrecioLista; } sumaProductos += precioProducto; break; } } if (!existe) { aplica = false; break; } } if (aplica) { Promocion prod = this.db.Promocion.Find(_p.IdPromocion); if (pLista.idMedioPago == 1) { prod.PrecioContado = sumaProductos - prod.PrecioContado; } else { prod.PrecioTarjeta = sumaProductos - prod.PrecioTarjeta; } Resul.Add(prod); } } return(Resul); }
public static void AddPromos(string promoId, Promos promos) { MemCacher.Delete($"PROMOS_{promoId}"); MemCacher.Add($"PROMOS_{promoId}", promos, DateTimeOffset.UtcNow.AddHours(1)); }