public void Insert(ExcursionBindingModel model) { using (var context = new TourFirmDatabase()) { context.Excursions.Add(CreateModel(model, new Excursion())); context.SaveChanges(); } }
public void CreateOrUpdate(ExcursionBindingModel model) { using (var context = new ZooDatabase()) { using (var transaction = context.Database.BeginTransaction()) { try { Excursion elem = model.Id.HasValue ? null : new Excursion(); if (model.Id.HasValue) { elem = context.Excursions.FirstOrDefault(rec => rec.Id == model.Id); if (elem == null) { throw new Exception("Элемент не найден"); } elem.ClientId = model.ClientId; elem.ExcursionCreate = model.ExcursionCreate; elem.Final_Cost = model.Final_Cost; elem.Status = model.Status; context.SaveChanges(); } else { elem.ClientId = model.ClientId; elem.ExcursionCreate = model.ExcursionCreate; elem.Final_Cost = model.Final_Cost; elem.Status = model.Status; context.Excursions.Add(elem); context.SaveChanges(); var routes = model.RouteForExcursions .GroupBy(rec => rec.RouteId) .Select(rec => new { RouteId = rec.Key, }); foreach (var route in routes) { context.RouteForExcursions.Add(new RouteForExcursion { ExcursionId = elem.Id, RouteId = route.RouteId, }); context.SaveChanges(); } } transaction.Commit(); } catch (Exception) { transaction.Rollback(); throw; } } } }
private Excursion CreateModel(ExcursionBindingModel model, Excursion excursion) { excursion.Name = model.Name; excursion.Price = model.Price; excursion.Duration = model.Duration; excursion.PlaceID = model.PlaceID; excursion.TouristID = model.TouristID; return(excursion); }
public void Delete(ExcursionBindingModel model) { var element = _excursionStorage.GetElement(new ExcursionBindingModel { ID = model.ID }); if (element == null) { throw new Exception("Элемент не найден"); } _excursionStorage.Delete(model); }
public void SaveExcursionOrdersToPdfFile(string fileName, ExcursionBindingModel excursion, string email) { string title = "Список маршрутов по экскурсиям"; SaveToPdf.CreateDoc(new PdfInfo { FileName = fileName, Title = title, Excursions = edLogic.Read(excursion).ToList(), Orders = GetExcursionOrders(excursion) }); SendMail(email, fileName, title); }
public Dictionary <int, List <OrderViewModel> > GetExcursionOrders(ExcursionBindingModel model) { var excursions = edLogic.Read(model).ToList(); Dictionary <int, List <OrderViewModel> > pays = new Dictionary <int, List <OrderViewModel> >(); foreach (var excursion in excursions) { var EdOrders = payLogic.Read(new OrderBindingModel { ExcursionId = excursion.Id }).ToList(); pays.Add(excursion.Id, EdOrders); } return(pays); }
public void Update(ExcursionBindingModel model) { using (var context = new TourFirmDatabase()) { var element = context.Excursions.FirstOrDefault(rec => rec.ID == model.ID); if (element == null) { throw new Exception("Элемент не найден"); } CreateModel(model, element); context.SaveChanges(); } }
public List <ExcursionViewModel> Read(ExcursionBindingModel model) { if (model == null) { return(_excursionStorage.GetFullList()); } if (model.ID.HasValue) { return(new List <ExcursionViewModel> { _excursionStorage.GetElement(model) }); } return(_excursionStorage.GetFilteredList(model)); }
public void Delete(ExcursionBindingModel model) { using (var context = new TourFirmDatabase()) { Excursion element = context.Excursions.FirstOrDefault(rec => rec.ID == model.ID); if (element != null) { context.Excursions.Remove(element); context.SaveChanges(); } else { throw new Exception("Элемент не найден"); } } }
public List <ExcursionViewModel> Read(ExcursionBindingModel model) { using (var context = new ZooDatabase()) { return(context.Excursions.Where(rec => rec.Id == model.Id || (rec.ClientId == model.ClientId)) .Select(rec => new ExcursionViewModel { Id = rec.Id, ClientId = rec.ClientId, ClientFIO = rec.Client.ClientFIO, ExcursionCreate = rec.ExcursionCreate, Cost = rec.Final_Cost, Remain = rec.Final_Cost - context.Orders.Where(recP => recP.ExcursionId == recP.Id).Select(recP => recP.Sum).Sum(), Status = rec.Status, RouteForExcursions = GetExRouteViewModel(rec) }) .ToList()); } }
public void CreateOrUpdate(ExcursionBindingModel model) { var element = _excursionStorage.GetElement(new ExcursionBindingModel { Name = model.Name, }); if (element != null && element.ID != model.ID) { throw new Exception("Данная экскурсия уже зарегистрирована"); } if (model.ID.HasValue) { _excursionStorage.Update(model); } else { _excursionStorage.Insert(model); } }
public ExcursionViewModel GetElement(ExcursionBindingModel model) { if (model == null) { return(null); } using (var context = new TourFirmDatabase()) { var excursion = context.Excursions .FirstOrDefault(rec => rec.Name == model.Name || rec.ID == model.ID); return(excursion != null ? new ExcursionViewModel { ID = excursion.ID, Name = excursion.Name, Price = excursion.Price, Duration = excursion.Duration, PlaceID = excursion.PlaceID, TouristID = excursion.TouristID, } : null); } }
public List <ExcursionViewModel> GetFilteredList(ExcursionBindingModel model) { if (model == null) { return(null); } using (var context = new TourFirmDatabase()) { return(context.Excursions .Where(rec => rec.TouristID == model.TouristID) .Select(rec => new ExcursionViewModel { ID = rec.ID, Name = rec.Name, Price = rec.Price, Duration = rec.Duration, PlaceID = rec.PlaceID, TouristID = rec.TouristID, }) .ToList()); } }