示例#1
0
        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));
        }
示例#2
0
        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.")));
        }