public async Task <BaseApiResponse> CreateWaterCounter(CreateWaterCounter model) { var validation = Validate(model); if (!validation.IsSucceeded) { return(validation); } var houseSet = Context.Set <House>(); var house = await houseSet.FirstOrDefaultAsync(x => x.Id == model.HouseId); if (house == null) { return(new BaseApiResponse(false, MainResources.HouseIsNotFoundByProvidedId)); } //Если у дома узе есть привязанный счетчик воды if (house.WaterCounterId.HasValue) { return(new BaseApiResponse(false, MainResources.HouseAlreadyHasAWaterCounter)); } var waterCounter = new WaterCounter { FactoryNumber = model.FactoryNumber, CurrentIndication = 0 }; Context.Set <WaterCounter>().Add(waterCounter); var createWaterCounterResult = await TrySaveChangesAndReturnResultAsync("Ok"); if (!createWaterCounterResult.IsSucceeded) { return(new BaseApiResponse(false, "Произошла ошибка при создании счетчика воды")); } //Устанавиливаю идентифкатор счетчика для дома house.WaterCounterId = waterCounter.Id; houseSet.Update(house); return(await TrySaveChangesAndReturnResultAsync("Счетчик воды создан и привязан к дому")); }
public Task <BaseApiResponse> AddWaterCounter(CreateWaterCounter model) { return(WaterCounterService.CreateWaterCounter(model)); }