public async Task <IActionResult> InsertOrUpdateWarehouseLimit(string id, [FromBody] WarehouseLimitMeta warehouseLimitMeta) { var result = await _warehouseService.InsertOrUpdateWarehouseLimit(CurrentUser.TenantId, id, CurrentUser.Id, CurrentUser.FullName, CurrentUser.Avatar, warehouseLimitMeta); if (result.Code <= 0) { return(BadRequest(result)); } return(Ok(result)); }
public async Task <ActionResultResponse> InsertOrUpdateWarehouseLimit(string tenantId, string warehouseId, string creatorId, string creatorFullName, string creatorAvatar, WarehouseLimitMeta warehouseLimitMeta) { var isWarehouseExists = await _warehouseRepository.CheckExists(warehouseId, tenantId); if (!isWarehouseExists) { return(new ActionResultResponse <string>(-1, _warehouseResourceService.GetString("Warehouse does not exists."))); } var info = await _warehouseLimitRepository.GetInfo(warehouseId, warehouseLimitMeta.ProductId, warehouseLimitMeta.UnitId, tenantId); if (info == null) { //insert var warehouseLimit = new WarehouseLimit { TenantId = tenantId, WarehouseId = warehouseId, ProductId = warehouseLimitMeta.ProductId.Trim(), UnitId = warehouseLimitMeta.UnitId.Trim(), Quantity = warehouseLimitMeta.Quantity, CreatorId = creatorId, CreatorFullName = creatorFullName }; var result = await _warehouseLimitRepository.Insert(warehouseLimit); if (result <= 0) { return(new ActionResultResponse(result, _sharedResourceService.GetString(ErrorMessage.SomethingWentWrong))); } } else { //update if (info.TenantId != tenantId) { return(new ActionResultResponse(-2, _warehouseResourceService.GetString(ErrorMessage.NotHavePermission))); } if (info.WarehouseId != warehouseId) { return(new ActionResultResponse <string>(-4, _warehouseResourceService.GetString(ErrorMessage.NotHavePermission))); } info.Quantity = warehouseLimitMeta.Quantity; info.LastUpdateTime = DateTime.Now; info.LastUpdateUserId = creatorId; info.LastUpdateFullName = creatorFullName; await _warehouseLimitRepository.Update(info); } return(new ActionResultResponse <string>(1, _warehouseResourceService.GetString("Update warehouse limit successful."))); }