private async Task <TResponse <bool> > CanUpdate(UpdateCustomerVipModel request) { try { var existName = await _customerVipCacheService.GetByName(request.Name); if (existName != null && existName.Id != request.Id) { return(await Fail <bool>(ErrorEnum.CUSTOMER_VIP_HAS_EXIST.GetStringValue())); } var existProfit = await _customerVipCacheService.GetByProfit(request.Profit); if (existProfit != null && existProfit.Id != request.Id) { return(await Fail <bool>(ErrorEnum.CUSTOMER_VIP_PROFIT_HAS_EXIST.GetStringValue())); } return(await Ok(true)); } catch (Exception exception) { return(await Fail <bool>(exception)); } }
public async Task <ActionResult <bool> > Update(UpdateCustomerVipModel request) { return(Ok(await _customerVipService.Update(await GetUserId(), request, GetPermissionId()))); }
public async Task <TResponse <bool> > Update(int userId, UpdateCustomerVipModel request, int permissionId) { try { var checkValid = await _userService.CheckPermission(userId, permissionId); if (checkValid.IsSuccess) { var canUpdate = await CanUpdate(request); if (canUpdate.IsSuccess) { var result = await WriteRepository.ExecuteAsync(SqlQuery.CUSTOMER_VIP_UPDATE, new { request.Id, request.Name, request.Color, request.SortOrder, request.Profit, UserUpdated = userId, DateUpdated = DateTime.Now }); if (result.IsSuccess) { if (result.Data > 0) { #region Update redis cache await _customerVipCacheService.AddOrUpdate(new CustomerVipCacheModel { Id = request.Id, Name = request.Name, Color = request.Color, SortOrder = request.SortOrder, Profit = request.Profit }); #endregion return(await Ok(true)); } return(await Fail <bool>(ErrorEnum.BAD_REQUEST.GetStringValue())); } return(await Fail <bool>(result.Message)); } return(await Fail <bool>(canUpdate.Message)); } return(await Fail <bool>(checkValid.Message)); } catch (Exception exception) { return(await Fail <bool>(exception)); } }