public async Task <TResponse <bool> > Add(int userId, InsertCustomerGroupModel request, int permissionId) { try { var checkValid = await _userService.CheckPermission(userId, permissionId); if (checkValid.IsSuccess) { var canInsert = await CanInsert(request); if (canInsert.IsSuccess) { var result = await WriteRepository.ExecuteScalarAsync <int>(SqlQuery.CUSTOMER_GROUP_INSERT, new { request.Name, UserCreated = userId, DateCreated = DateTime.Now, UserUpdated = userId, DateUpdated = DateTime.Now }); if (result.IsSuccess) { if (result.Data > 0) { #region Update redis cache await _customerGroupCacheService.AddOrUpdate(new CustomerGroupCacheModel { Id = result.Data, Name = request.Name }); #endregion return(await Ok(true)); } return(await Fail <bool>(ErrorEnum.BAD_REQUEST.GetStringValue())); } return(await Fail <bool>(result.Message)); } return(await Fail <bool>(canInsert.Message)); } return(await Fail <bool>(checkValid.Message)); } catch (Exception exception) { return(await Fail <bool>(exception)); } }
private async Task <TResponse <bool> > CanInsert(InsertCustomerGroupModel request) { try { var customerGroup = await _customerGroupCacheService.GetByName(request.Name); if (customerGroup != null) { return(await Fail <bool>(ErrorEnum.CUSTOMER_GROUP_HAS_EXIST.GetStringValue())); } return(await Ok(true)); } catch (Exception exception) { return(await Fail <bool>(exception)); } }
public async Task <IActionResult> Add(InsertCustomerGroupModel model) { if (ModelState.IsValid) { var result = await _customerGroupService.Insert(_mapper.Map <InsertCustomerGroupModel, InsertCustomerGroupRequest>(model)); if (result.IsSuccess) { TempData["Update"] = result.ToJson(); return(RedirectToAction("Index", "CustomerGroup")); } ModelState.AddModelError("", result.Message); } return(View(model)); }
public async Task <ActionResult <bool> > Add(InsertCustomerGroupModel request) { return(Ok(await _customerGroupService.Add(await GetUserId(), request, GetPermissionId()))); }