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("این ایزی پی قبلا ثبت شده است")); } }
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("این ایزی پی قبلا ثبت شده است")); } }