public void Insert(RouteBindingModel model) { using (var context = new UrskiyPeriodDatabase()) { using (var transaction = context.Database.BeginTransaction()) { try { if (context.Routes.FirstOrDefault(rec => rec.Name == model.Name) != null) { return; } Route route = CreateModel(new Route(), model); context.Routes.Add(route); context.SaveChanges(); CreateModel(route, model, context); transaction.Commit(); } catch { transaction.Rollback(); throw; } } } }
private void buttonSave_Click(object sender, EventArgs e) { try { RouteBindingModel model = new RouteBindingModel { Name = RouteName, Cost = picked.Sum(x => x.Price), DateVisit = Date, Count = picked.Count, RouteReverces = picked.ToDictionary(x => x.Id, x => x.Name), UserId = Program.User.Id }; if (id.HasValue) { model.Id = id; } _routeLogic.CreateOrUpdate(model); DialogResult = DialogResult.OK; Close(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } }
private Route CreateModel(Route route, RouteBindingModel model, UrskiyPeriodDatabase context) { route = CreateModel(route, model); if (model.Id.HasValue) { var routeReserve = context.RouteReserves.Where(rec => rec.RouteId == model.Id.Value).ToList(); // удаляем те, которых нет в модели context.RouteReserves.RemoveRange(routeReserve.Where(rec => !model.RouteReverces.ContainsKey(rec.ReserveId)).ToList()); context.SaveChanges(); foreach (var Reserve in routeReserve) { model.RouteReverces.Remove(Reserve.ReserveId); } } foreach (var routeReserve in model.RouteReverces) { context.RouteReserves.Add(new RouteReserve { ReserveId = routeReserve.Key, RouteId = route.Id }); } context.SaveChanges(); return(route); }
public void Update(RouteBindingModel model) { using (var context = new UrskiyPeriodDatabase()) { using (var transaction = context.Database.BeginTransaction()) { try { var route = context.Routes.FirstOrDefault(rec => rec.Id == model.Id); if (route == null) { throw new Exception("Маршрут не найден"); } CreateModel(route, model, context); context.SaveChanges(); transaction.Commit(); } catch { transaction.Rollback(); throw; } } } }
private void buttonSave_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(textBoxCityFrom.Text)) { MessageBox.Show("Введите родной город", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (string.IsNullOrEmpty(textBoxCityTo.Text)) { MessageBox.Show("Введите город путешествия", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { RouteBindingModel model = new RouteBindingModel { Cityfrom = textBoxCityFrom.Text, Cityto = textBoxCityTo.Text }; if (Id.HasValue) { model.Id = Id; } _logicR.CreateOrUpdate(model); MessageBox.Show("Успешно", "Сохранено", MessageBoxButtons.OK, MessageBoxIcon.Information); Close(); } catch (Exception ex) { MessageBox.Show(ex.InnerException.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void Insert(RouteBindingModel model) { using (var context = new TravelAgencyContext()) { context.Route.Add(CreateModel(model, new Route())); context.SaveChanges(); } }
private Route CreateModel(Route route, RouteBindingModel model) { route.Cost = model.Cost; route.Count = model.Count; route.Name = model.Name; route.DateVisit = model.DateVisit; route.UserId = model.UserId.Value; return(route); }
public void CreateOrUpdate(RouteBindingModel model) { if (model.Id.HasValue) { _routeStorage.Update(model); } else { _routeStorage.Insert(model); } }
public void Delete(RouteBindingModel model) { var element = _routeStorage.GetElement(new RouteBindingModel { Id = model.Id }); if (element == null) { throw new Exception("Элемент не найден"); } _routeStorage.Delete(model); }
public void Delete(RouteBindingModel model) { using (var context = new UrskiyPeriodDatabase()) { var route = context.Routes.FirstOrDefault(rec => rec.Id == model.Id); if (route == null) { throw new Exception("Маршрут не найден"); } context.Routes.Remove(route); context.SaveChanges(); } }
public void Update(RouteBindingModel model) { using (var context = new TravelAgencyContext()) { var element = context.Route.FirstOrDefault(rec => rec.Routeid == model.Id); if (element == null) { throw new Exception("Маршрут не найден"); } CreateModel(model, element); context.SaveChanges(); } }
public List <RouteViewModel> Read(RouteBindingModel model) { SaveToDatabase(); return(Routes .Where(rec => model == null || rec.Id == model.Id) .Select(rec => new RouteViewModel { Id = rec.Id, RouteName = rec.RouteName, StartRoute = rec.StartRoute, Cost = rec.Cost, }) .ToList()); }
public List <RouteViewModel> GetFilteredList(RouteBindingModel model) { if (model == null) { return(null); } using (var context = new TravelAgencyContext()) { return(context.Route.Include(x => x.Transport) .Where(rec => rec.Cityto == model.Cityto) .Select(CreateModel) .ToList()); } }
public RouteViewModel GetElement(RouteBindingModel model) { if (model == null) { return(null); } using (var context = new TravelAgencyContext()) { var route = context.Route.Include(x => x.Transport) .FirstOrDefault(rec => rec.Routeid == model.Id); return(route != null?CreateModel(route) : null); } }
public List <RouteViewModel> Read(RouteBindingModel model) { if (model == null) { return(_routeStorage.GetFullList()); } if (model.Id.HasValue) { return(new List <RouteViewModel> { _routeStorage.GetElement(model) }); } return(_routeStorage.GetFilteredList(model)); }
public RouteViewModel GetElement(RouteBindingModel model) { if (model == null) { return(null); } using (var context = new UrskiyPeriodDatabase()) { var route = context.Routes.Include(x => x.User).Include(x => x.RouteReserve).ThenInclude(x => x.Reserve) .ThenInclude(x => x.Payment) .Include(x => x.CostItemRoute).ThenInclude(x => x.CostItem). FirstOrDefault(rec => rec.Id == model.Id || rec.Name == model.Name); return(route != null?CreateModel(route) : null); } }
public void Delete(RouteBindingModel model) { using (var context = new TravelAgencyContext()) { Route element = context.Route.FirstOrDefault(rec => rec.Routeid == model.Id); if (element != null) { context.Route.Remove(element); context.SaveChanges(); } else { throw new Exception("Маршрут не найден"); } } }
public List <RouteViewModel> GetFilteredList(RouteBindingModel model) { using (var context = new UrskiyPeriodDatabase()) { return(context.Routes.Include(x => x.User).Include(x => x.RouteReserve).ThenInclude(x => x.Reserve) .ThenInclude(x => x.Payment) .Include(x => x.CostItemRoute).ThenInclude(x => x.CostItem) .Where(rec => // сортируем по клиенту (model.UserId.HasValue && !model.DateFrom.HasValue && model.PickedRoutes == null && model.UserId == rec.UserId) || // маршруты без статей затрат для заполнения бд (!model.DateFrom.HasValue && model.PickedRoutes == null && !model.UserId.HasValue && model.NoCost.HasValue && model.NoCost.Value && rec.CostItemRoute.Count == 0)) .ToList().Select(CreateModel).ToList()); } }
public List <RouteViewModel> GetFilteredByPickList(RouteBindingModel model) { using (var context = new UrskiyPeriodDatabase()) { return(context.Routes.Include(x => x.User).Include(x => x.RouteReserve).ThenInclude(x => x.Reserve) .Where(x => model.PickedRoutes.Contains(x.Id)).Select(x => new RouteViewModel { Reserves = x.RouteReserve.Select(rec => new ReserveViewModel { Name = rec.Reserve.Name, Price = rec.Reserve.Price }).ToList(), Name = x.Name, Cost = x.Cost }).ToList()); } }
public void CreateOrUpdate(RouteBindingModel model) { if (model.Id.HasValue) { _routeStorage.Update(model); } else { var element = _routeStorage.GetElement(new RouteBindingModel { Name = model.Name }); if (element != null && element.Id != model.Id) { throw new Exception("Уже есть маршрут с таким названием"); } _routeStorage.Insert(model); } }
public List <RouteViewModel> GetFilteredByDateList(RouteBindingModel model) { using (var context = new UrskiyPeriodDatabase()) { return(context.Routes.Include(x => x.User).Include(x => x.CostItemRoute).ThenInclude(x => x.CostItem) .Where(rec => model.DateFrom.HasValue && model.DateFrom.HasValue && model.DateFrom.Value.Date <= rec.DateVisit.Date && rec.DateVisit.Date <= model.DateTo.Value.Date && model.UserId == rec.UserId) .Select(x => new RouteViewModel { CostItems = x.CostItemRoute.Select(rec => new CostItemViewModel { Name = rec.CostItem.Name, Sum = rec.CostItem.Sum }).ToList(), Name = x.Name, Cost = x.Cost, DateVisit = x.DateVisit, Count = x.Count }).ToList()); } }
public List <RouteViewModel> Read(RouteBindingModel model) { if (model == null) { return(_routeStorage.GetFullList()); } if (model.Id.HasValue || model.Name != null) { return(new List <RouteViewModel> { _routeStorage.GetElement(model) }); } if (model.DateFrom.HasValue && model.DateTo.HasValue && model.UserId.HasValue && model.PickedRoutes == null) { return(_routeStorage.GetFilteredByDateList(model)); } if (model.PickedRoutes != null && !model.DateFrom.HasValue) { return(_routeStorage.GetFilteredByPickList(model)); } return(_routeStorage.GetFilteredList(model)); }
private Route CreateModel(RouteBindingModel model, Route route) { route.Сityfrom = model.Cityfrom; route.Cityto = model.Cityto; return(route); }
public void DeleteRoute(RouteBindingModel model) => _route.Delete(model);
public void CreateRoute(RouteBindingModel model) => _route.CreateOrUpdate(model);