Beispiel #1
0
 private Place CreateModel(PlaceBindingModel model, Place place)
 {
     place.Name      = model.Name;
     place.Type      = model.Type;
     place.TouristID = model.TouristID;
     return(place);
 }
Beispiel #2
0
 public void Insert(PlaceBindingModel model)
 {
     using (var context = new TourFirmDatabase())
     {
         context.Places.Add(CreateModel(model, new Place()));
         context.SaveChanges();
     }
 }
Beispiel #3
0
        public void Delete(PlaceBindingModel model)
        {
            var element = _placeStorage.GetElement(new PlaceBindingModel {
                ID = model.ID
            });

            if (element == null)
            {
                throw new Exception("Элемент не найден");
            }
            _placeStorage.Delete(model);
        }
Beispiel #4
0
        public void Update(PlaceBindingModel model)
        {
            using (var context = new TourFirmDatabase())
            {
                var element = context.Places.FirstOrDefault(rec => rec.ID == model.ID);

                if (element == null)
                {
                    throw new Exception("Элемент не найден");
                }
                CreateModel(model, element);
                context.SaveChanges();
            }
        }
Beispiel #5
0
        public List <PlaceViewModel> Read(PlaceBindingModel model)
        {
            if (model == null)
            {
                return(_placeStorage.GetFullList());
            }

            if (model.ID.HasValue)
            {
                return(new List <PlaceViewModel> {
                    _placeStorage.GetElement(model)
                });
            }
            return(_placeStorage.GetFilteredList(model));
        }
Beispiel #6
0
        public void Delete(PlaceBindingModel model)
        {
            using (var context = new TourFirmDatabase())
            {
                Place element = context.Places.FirstOrDefault(rec => rec.ID == model.ID);

                if (element != null)
                {
                    context.Places.Remove(element);
                    context.SaveChanges();
                }
                else
                {
                    throw new Exception("Элемент не найден");
                }
            }
        }
Beispiel #7
0
        public PlaceViewModel GetElement(PlaceBindingModel model)
        {
            if (model == null)
            {
                return(null);
            }

            using (var context = new TourFirmDatabase())
            {
                Place place = context.Places
                              .FirstOrDefault(rec => rec.Name == model.Name || rec.ID == model.ID);
                return(place != null ? new PlaceViewModel
                {
                    ID = place.ID,
                    Name = place.Name,
                    Type = place.Type,
                    TouristID = place.TouristID
                } : null);
            }
        }
Beispiel #8
0
        public void CreateOrUpdate(PlaceBindingModel model)
        {
            var element = _placeStorage.GetElement(new PlaceBindingModel
            {
                Name = model.Name
            });

            if (element != null && element.ID != model.ID)
            {
                throw new Exception("Данное место уже зарегистрировано");
            }

            if (model.ID.HasValue)
            {
                _placeStorage.Update(model);
            }
            else
            {
                _placeStorage.Insert(model);
            }
        }
Beispiel #9
0
        public List <PlaceViewModel> GetFilteredList(PlaceBindingModel model)
        {
            if (model == null)
            {
                return(null);
            }

            using (var context = new TourFirmDatabase())
            {
                return(context.Places
                       .Where(rec => rec.TouristID == model.TouristID)
                       .ToList()
                       .Select(rec => new PlaceViewModel
                {
                    ID = rec.ID,
                    Name = rec.Name,
                    Type = rec.Type,
                    TouristID = rec.TouristID
                }).ToList());
            }
        }