public async Task <PlaneBrigadeTrain> Update(PlaneBrigadeTrain input) { using (var conn = new SqlConnection(AppSettings.ConnectionString)) { await conn.ExecuteAsync(_sql.Update(input)); return(await ById(input.Id)); } }
public async Task <PlaneBrigadeTrain> Add(PlaneBrigadeTrain input) { using (var conn = new SqlConnection(AppSettings.ConnectionString)) { var id = await conn.QueryFirstOrDefaultAsync <int>(_sql.Add(input)); return(await ById(id)); } }
/// <summary> /// Обновить Хуету /// </summary> public async Task <List <PlaneBrigadeTrain> > AddUserToTrain(PlaneBrigadeTrainDto input) { ////Начинаем блядь квн //using (var transaction = new TransactionScope(asyncFlowOption: TransactionScopeAsyncFlowOption.Enabled)) //{ var sqlR = new PlaneBrigadeTrainsRepository(_logger); var sqlRPlanedStations = new PlanedStationOnTripsRepository(_logger); var result = new List <PlaneBrigadeTrain>(); foreach (var userId in input.UserIds) { var data = await sqlR.ByPlanedRouteTrainId(input.PlanedRouteTrainId); //Если добавлен на этот плановый рейс уже if (data.Any(x => x.UserId == userId)) { throw new ValidationException(Error.AlreadyAdd); } var requestPlanedStations = await sqlRPlanedStations.ByPlannedRouteTrainId(input.PlanedRouteTrainId); if (requestPlanedStations.Count < 2) { throw new ValidationException(Error.MiniTripStations); } //TODO вынести маппер отдельно var entity = new PlaneBrigadeTrain { StantionStartId = input.StantionStartId, StantionEndId = input.StantionEndId, UserId = userId, PlanedRouteTrainId = input.PlanedRouteTrainId }; result.Add(await sqlR.Add(entity)); } //transaction.Complete(); return(result); //} }