Exemplo n.º 1
0
        public async Task <IActionResult> AddEasyPay(string userId, EasyPayForCreateUpdateDto easyPayForCreateDto)
        {
            var easyPayFromRepo = await _db.EasyPayRepository
                                  .GetAsync(p => p.Name == easyPayForCreateDto.Name && p.UserId == userId);

            if (easyPayFromRepo == null)
            {
                var cardForCreate = new EasyPay()
                {
                    UserId = userId,
                };
                if (!easyPayForCreateDto.IsCountLimit)
                {
                    easyPayForCreateDto.CountLimit = 0;
                }
                var easyPay = _mapper.Map(easyPayForCreateDto, cardForCreate);

                await _db.EasyPayRepository.InsertAsync(easyPay);

                if (await _db.SaveAsync())
                {
                    var easyPayForReturn = _mapper.Map <EasyPayForReturnDto>(easyPay);

                    return(CreatedAtRoute("GetEasyPay", new { v = HttpContext.GetRequestedApiVersion().ToString(), id = easyPay.Id, userId = userId }, easyPayForReturn));
                }
                else
                {
                    return(BadRequest("خطا در ثبت اطلاعات"));
                }
            }
            {
                return(BadRequest("این ایزی پی قبلا ثبت شده است"));
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> UpdateEasyPay(string id, string userId, EasyPayForCreateUpdateDto easyPayForUpdateDto)
        {
            var epFromRepo = await _db.EasyPayRepository
                             .GetAsync(p => p.Name == easyPayForUpdateDto.Name && p.UserId == userId && p.Id != id);

            if (epFromRepo == null)
            {
                var easyPayFromRepo = await _db.EasyPayRepository.GetByIdAsync(id);

                if (easyPayFromRepo != null)
                {
                    if (easyPayFromRepo.UserId == User.FindFirst(ClaimTypes.NameIdentifier).Value)
                    {
                        var easyPay = _mapper.Map(easyPayForUpdateDto, easyPayFromRepo);
                        easyPay.DateModified = DateTime.Now;
                        if (!easyPayForUpdateDto.IsCountLimit)
                        {
                            easyPayForUpdateDto.CountLimit = 0;
                        }
                        _db.EasyPayRepository.Update(easyPay);

                        if (await _db.SaveAsync())
                        {
                            return(NoContent());
                        }
                        else
                        {
                            return(BadRequest("خطا در ثبت اطلاعات"));
                        }
                    }
                    else
                    {
                        _logger.LogError($"کاربر   {RouteData.Values["userId"]} قصد اپدیت به ایزی پی دیگری را دارد");

                        return(BadRequest("شما اجازه اپدیت ایزی پی کاربر دیگری را ندارید"));
                    }
                }
                {
                    return(BadRequest("ایزی پیی وجود ندارد"));
                }
            }
            {
                return(BadRequest("این ایزی پی قبلا ثبت شده است"));
            }
        }