public booking GetBooking(int id, int userId, int apartmentId, int dateFrom, int dateTo)
 {
     Models.apartma2Entities entities = new Models.apartma2Entities();
     try
     {
         Models.booking bookingModel = entities.bookings.FirstOrDefault(el => el.id.Equals(id) || el.customer_trr.Equals(userId) || el.apartment.id.Equals(apartmentId) ||
                                                                        (el.date_from >= dateFrom && el.date_to <= dateTo));
         if (bookingModel != null)
         {
             booking bookingObj = new booking
             {
                 id        = bookingModel.id,
                 date_from = bookingModel.date_from,
                 date_to   = bookingModel.date_to,
                 //customer = ApartmentTypeConverter.CustomerModelToObj(bookingModel.customer),
                 apartment = ApartmentTypeConverter.ApartmentModelToObj(bookingModel.apartment),
                 status    = ApartmentTypeConverter.BookingStatusStringToEnum(bookingModel.status),
                 discount  = ApartmentTypeConverter.DiscountModelToObj(bookingModel.discount),
                 payment   = ApartmentTypeConverter.PaymentModelToObj(bookingModel.payment_method)
             };
             return(bookingObj);
         }
         else
         {
             return(null);
         }
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
        public bool UpdateBooking(booking bookingObj)
        {
            Models.apartma2Entities entities = new Models.apartma2Entities();
            try
            {
                Models.booking bookingModel = entities.bookings.FirstOrDefault(el => el.id.Equals(bookingObj.id));
                if (bookingModel != null)
                {
                    bookingModel.id        = bookingObj.id;
                    bookingModel.date_from = bookingObj.date_from;
                    bookingModel.date_to   = bookingObj.date_to;
                    bookingModel.status    = bookingObj.status.ToString();
                    bookingModel.apartment = ApartmentTypeConverter.ApartmentObjToModel(bookingObj.apartment);
                    //bookingModel.customer = ApartmentTypeConverter.CustomerObjToModel(bookingObj.customer);
                    bookingModel.payment_method = ApartmentTypeConverter.PaymentObjToModel(bookingObj.payment);
                    bookingModel.discount       = ApartmentTypeConverter.DiscountObjToModel(bookingObj.discount);

                    entities.Entry(bookingModel).State = System.Data.Entity.EntityState.Modified;
                    entities.SaveChanges();
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Beispiel #3
0
 public arrangement_package[] GetPackageArrangments(int dateFrom, int dateTo)
 {
     Models.ApartmentEntities entities = new Models.ApartmentEntities();
     try
     {
         List <Models.arrangement_package> packageModels = entities.arrangement_package.Where(el => el.valid_from >= dateFrom && el.valid_to <= dateTo).ToList();
         return(packageModels.Select(el => ApartmentTypeConverter.ArrangmentModelToObj(el)).ToArray());
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
 public int AddDiscount(discount discountObj)
 {
     Models.apartma2Entities entities = new Models.apartma2Entities();
     try
     {
         Models.discount discountModel = ApartmentTypeConverter.DiscountObjToModel(discountObj);
         entities.discounts.Add(discountModel);
         entities.SaveChanges();
         return(discountModel.id);
     }
     catch (Exception ex)
     {
         return(-1);
     }
 }
 public int AddPackageArrangments(arrangement_package arrangmentObj)
 {
     Models.apartma2Entities entities = new Models.apartma2Entities();
     try
     {
         Models.arrangement_package arrangmentModel = ApartmentTypeConverter.ArrangmentObjToModel(arrangmentObj);
         entities.arrangement_package.Add(arrangmentModel);
         entities.SaveChanges();
         return(arrangmentModel.id);
     }
     catch (Exception ex)
     {
         return(-1);
     }
 }
Beispiel #6
0
 public bool AddCustomer(customer customerObj)
 {
     Models.ApartmentEntities entities = new Models.ApartmentEntities();
     try
     {
         Models.customer customerModel = ApartmentTypeConverter.CustomerObjToModel(customerObj);
         entities.customers.Add(customerModel);
         entities.SaveChanges();
         return(true);
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
Beispiel #7
0
 public bool AddDiscount(discount discountObj)
 {
     Models.ApartmentEntities entities = new Models.ApartmentEntities();
     try
     {
         Models.discount discountModel = ApartmentTypeConverter.DiscountObjToModel(discountObj);
         entities.discounts.Add(discountModel);
         entities.SaveChanges();
         return(true);
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
Beispiel #8
0
 public bool AddPackageArrangments(arrangement_package arrangmentObj)
 {
     Models.ApartmentEntities entities = new Models.ApartmentEntities();
     try
     {
         Models.arrangement_package arrangmentModel = ApartmentTypeConverter.ArrangmentObjToModel(arrangmentObj);
         entities.arrangement_package.Add(arrangmentModel);
         entities.SaveChanges();
         return(true);
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
        public List <Types.apartment> Search(int dateFrom, int dateTo, int numOfBeds)
        {
            Models.apartma2Entities entities = new Models.apartma2Entities();
            try
            {
                List <Models.apartment> result = entities.apartments.ToList();

                if (numOfBeds != -1)
                {
                    result = entities.apartments.Where(ap => ap.no_single_beds + ap.no_king_beds * 2 + ap.no_extra_beds >= numOfBeds).ToList();
                }

                if (dateFrom != -1 && dateTo != -1)
                {
                    List <Models.apartment> tmp = entities.apartments.ToList();

                    foreach (Models.apartment ap in result)
                    {
                        if (ap.bookings.Count > 0)
                        {
                            Models.booking b = ap.bookings.FirstOrDefault(el => el.date_from >= dateFrom || el.date_to <= dateTo);
                            if (b == null)
                            {
                                tmp.Add(ap);
                            }
                        }
                        else
                        {
                            tmp.Add(ap);
                        }
                    }

                    result = tmp;
                }

                return(result.Select(el => ApartmentTypeConverter.ApartmentModelToObj(el)).ToList());
            }
            catch (Exception ex)
            {
                return(new List <Types.apartment>());
            }
        }
Beispiel #10
0
 public customer FindCustomer(int id, string firstName, string lastName, string taxNumber)
 {
     Models.ApartmentEntities entities = new Models.ApartmentEntities();
     try
     {
         Models.customer customerModel = entities.customers.FirstOrDefault(el => el.id.Equals(id) && el.first_name.Equals(firstName) && el.last_name.Equals(lastName));
         if (customerModel != null)
         {
             return(ApartmentTypeConverter.CustomerModelToObj(customerModel));
         }
         else
         {
             return(null);
         }
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
        public List <Types.apartment> AdvancedSearch(int dateFrom, int dateTo, int numOfKingBeds, int numOfSingleBeds, int numOfExtraBeds,
                                                     bool petFriendly, bool internet, bool airContitioning, bool tv, bool kitchen,
                                                     int stars, bool balcony, bool accessable)
        {
            Models.apartma2Entities entities = new Models.apartma2Entities();
            try
            {
                List <Models.apartment> result = entities.apartments.ToList();

                // filter by avilability
                if (dateFrom != -1 && dateTo != -1)
                {
                    List <Models.apartment> tmp = entities.apartments.ToList();

                    foreach (Models.apartment ap in result)
                    {
                        if (ap.bookings.Count > 0)
                        {
                            Models.booking b = ap.bookings.FirstOrDefault(el => el.date_from >= dateFrom || el.date_to <= dateTo);
                            if (b == null)
                            {
                                tmp.Add(ap);
                            }
                        }
                        else
                        {
                            tmp.Add(ap);
                        }
                    }

                    result = tmp;
                }

                if (numOfKingBeds != -1)
                {
                    result = result.Where(ap => ap.no_king_beds >= numOfKingBeds).ToList();
                }

                if (numOfSingleBeds != -1)
                {
                    result = result.Where(ap => ap.no_single_beds >= numOfSingleBeds).ToList();
                }

                if (numOfExtraBeds != -1)
                {
                    result = result.Where(ap => ap.no_extra_beds >= numOfExtraBeds).ToList();
                }

                if (petFriendly)
                {
                    result = result.Where(ap => ap.pet_friendly == true).ToList();
                }

                if (petFriendly)
                {
                    result = result.Where(ap => ap.pet_friendly == true).ToList();
                }

                if (internet)
                {
                    result = result.Where(ap => ap.internet == true).ToList();
                }

                if (airContitioning)
                {
                    result = result.Where(ap => ap.air_conditioning == true).ToList();
                }

                if (tv)
                {
                    result = result.Where(ap => ap.tv == true).ToList();
                }

                if (kitchen)
                {
                    result = result.Where(ap => ap.kitchen == true).ToList();
                }

                if (stars != -1)
                {
                    result = result.Where(ap => ap.class_stars >= stars).ToList();
                }

                if (balcony)
                {
                    result = result.Where(ap => ap.balcony == true).ToList();
                }

                if (accessable)
                {
                    result = result.Where(ap => ap.accessible == true).ToList();
                }

                return(result.Select(el => ApartmentTypeConverter.ApartmentModelToObj(el)).ToList());
            }
            catch (Exception ex)
            {
                return(new List <Types.apartment>());
            }
        }