Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }