public async Task <Result <PromotionManageModel> > UpdatePromotion([FromBody] PromotionManageModel model) { if (!Validate(model)) { return(null); } var promotion = await _mapper.FromModelAsync(model); var sUserId = _userManager.GetUserId(User); int userId; if (Int32.TryParse(sUserId, out userId)) { promotion.IdEditedBy = userId; } if (promotion.Id > 0) { promotion = await _promotionService.UpdateAsync(promotion); } else { promotion = await _promotionService.InsertAsync(promotion); } return(await _mapper.ToModelAsync <PromotionManageModel>(promotion)); }
public async Task <Result <PromotionManageModel> > GetPromotion(string id) { int idPromotion = 0; if (id != null && !Int32.TryParse(id, out idPromotion)) { throw new NotFoundException(); } if (idPromotion == 0) { var now = DateTime.Now; now = new DateTime(now.Year, now.Month, now.Day); return(new PromotionManageModel() { StatusCode = RecordStatusCode.Active, Assigned = CustomerType.Retail, IdObjectType = PromotionType.BuyXGetY, PromotionBuyType = PromoBuyType.Any, StartDate = TimeZoneInfo.ConvertTime(now, TimeZoneHelper.PstTimeZoneInfo, TimeZoneInfo.Local), ExpirationDate = TimeZoneInfo.ConvertTime(now.AddDays(30), TimeZoneHelper.PstTimeZoneInfo, TimeZoneInfo.Local), CanUseWithDiscount = true, PromotionsToBuySkus = new List <PromotionToBuySkuModel>(), PromotionsToGetSkus = new List <PromotionToGetSkuModel>(), }); } var item = await _promotionService.SelectAsync(idPromotion); if (item == null) { throw new NotFoundException(); } PromotionManageModel toReturn = await _mapper.ToModelAsync <PromotionManageModel>(item); return(toReturn); }