Пример #1
0
        public IEnumerable <UserForViewDto> GetAllUsers(UserType userType)
        {
            using (var dbContext = new ExtraAirContext())
            {
                switch (userType)
                {
                case UserType.Client:
                {
                    return(dbContext.Clients.ToList().Select(MapHelper).ToList());
                }

                case UserType.User:
                {
                    return(dbContext.Users.ToList().Select(MapHelper).ToList());
                }

                case UserType.Dispatcher:
                {
                    return(dbContext.Dispatchers.ToList().Select(MapHelper).ToList());
                }

                default: return(null);
                }
            }
        }
Пример #2
0
 public TourDto GetTourById(int id)
 {
     using (var dbContext = new ExtraAirContext())
     {
         return(dbContext.Tours.Where(x => x.TourId == id).Select(TourMapHelder).FirstOrDefault());
     }
 }
Пример #3
0
        public T GetUser <T>(int id, UserType userType)
        {
            using (var dbContext = new ExtraAirContext())
            {
                switch (userType)
                {
                case UserType.Client:
                {
                    return((T)Convert.ChangeType(MapHelper(dbContext.Clients.FirstOrDefault(x => x.UserId == id)), typeof(T)));
                }

                case UserType.User:
                {
                    return((T)Convert.ChangeType(MapHelper(dbContext.Users.FirstOrDefault(x => x.UserId == id)), typeof(T)));
                }

                case UserType.Dispatcher:
                {
                    return((T)Convert.ChangeType(MapHelper(dbContext.Dispatchers.FirstOrDefault(x => x.UserId == id)), typeof(T)));
                }

                default:
                    throw new ArgumentOutOfRangeException(nameof(userType), userType, null);
                }
            }
        }
Пример #4
0
 public IEnumerable <TourDto> GetAllTours()
 {
     using (var dbContext = new ExtraAirContext())
     {
         return(dbContext.Tours.Select(TourMapHelder).ToList());
     }
 }
Пример #5
0
 public ICollection <AddressDto> GetAddresses()
 {
     using (var dbContext = new ExtraAirContext())
     {
         return(dbContext.Addresses.Select(x => Mapper.Map <Address, AddressDto>(new Address())).ToList());
     }
 }
Пример #6
0
 public IEnumerable <OrderDto> GetAllOrders(int userId)
 {
     using (var dbContext = new ExtraAirContext())
     {
         var l = dbContext.Orders.Where(x => x.UserId == userId && (x.DateStartTour != null && x.DateFinishTour != null)).ToList();
         return(l.Select(MapOrderHellper).Where(x => x.tour != null).ToList());
     }
 }
Пример #7
0
 public OrderDetailsDto GetOrder(int orderId)
 {
     using (var dbContext = new ExtraAirContext())
     {
         var orderBase  = dbContext.Orders.FirstOrDefault(x => x.OrderId == orderId);
         var mapedOrder = MapOrderHellper(orderBase);
         return(MapOrderDetailsHellper(mapedOrder, orderBase));
     }
 }
Пример #8
0
 public IEnumerable <TourDto> GetToursBySearch(TourSearchHelperDto searchHelper)
 {
     using (var dbContext = new ExtraAirContext())
     {
         return(dbContext.Tours.Select(TourMapHelder).ToList().Where(a => (a.AirportFrom != null &&
                                                                           a.AirportFrom.AirportId == searchHelper.AirportFormId) &&
                                                                     (a.AirportTo != null && a.AirportTo.AirportId == searchHelper.AirportToId) &&
                                                                     (a.PossibleDays.Contains(searchHelper.DayStart))).ToList());
     }
 }
Пример #9
0
 public IEnumerable <AirportDto> GetAllAirports()
 {
     using (var dbContext = new ExtraAirContext())
     {
         Mapper.Initialize(cfg => cfg.CreateMap <Airport, AirportDto>()
                           .ForMember(d => d.Country, o => o.MapFrom(a => a.Address.Country))
                           .ForMember(d => d.City, o => o.MapFrom(a => a.Address.City))
                           .ForMember(d => d.Street, o => o.MapFrom(a => a.Address.Street))
                           .ForMember(d => d.StreetNumber, o => o.MapFrom(a => a.Address.StreetNumber)));
         return(dbContext.Airports.ProjectTo <AirportDto>().ToList());
     }
 }
Пример #10
0
        public IEnumerable <SearchHistoryDto> GetSearchHistoryByUser(int?userId)
        {
            using (var dbContext = new ExtraAirContext())
            {
                var searchHistories = dbContext.TourSearchHistories.Where(x => x.User.UserId == userId).ToList();
                var airportsFromId  = searchHistories.Select(x => x.AirportFromId);
                var airportsToId    = searchHistories.Select(x => x.AirportToId);
                var airportsFrom    = dbContext.Airports.Where(x => airportsFromId.Any(a => a == x.AirportId)).ToList();
                var airportsTo      = dbContext.Airports.Where(x => airportsToId.Any(a => a == x.AirportId)).ToList();

                return(searchHistories.Select(x => SearchHistoryHelper(x, airportsFrom, airportsTo)).ToList());
            }
        }
Пример #11
0
        public void Save(ExtraAirCore.Models.EFModels.Client client)
        {
            using (var dbContext = new ExtraAirContext())
            {
                var user = dbContext.Users.SingleOrDefault(x => x.Email == client.Email);
                if (user != null)
                {
                    throw new Exception("User Exist!");
                }

                dbContext.Clients.Add(client);
                dbContext.SaveChanges();
            }
        }
Пример #12
0
        public TourDetailsDto Get(TourDetailsHelper helper)
        {
            using (var dbContext = new ExtraAirContext())
            {
                var list1 = dbContext.TourDetailses.Where(x => x.TourId == helper.TourId && x.DateStart == helper.DateStart &&
                                                          x.DateFinish == helper.DateFinish).ToList();

                foreach (var td in list1)
                {
                    if (td.DatePushed != null && td.Temporary &&
                        DateTime.Now.Subtract(Convert.ToDateTime(td.DatePushed)).Minutes > 5)
                    {
                        dbContext.TourDetailses.Remove(td);
                        dbContext.SaveChanges();
                    }
                }

                var list = list1.ToList().Select(x => MapHelper(x, helper.ComfortType));


                var b            = new List <BookedPoint>();
                var economyPass  = 0;
                var businessPass = 0;

                if (!list.Any())
                {
                    return(null);
                }

                foreach (var l in list)
                {
                    b           = b.Concat(l.BookedPoints).ToList();
                    economyPass = l.CurrentPassengerCount.CountOfEconomyPassenger > economyPass ?
                                  l.CurrentPassengerCount.CountOfEconomyPassenger : economyPass;
                    businessPass += l.CurrentPassengerCount.CountOfBusinessPassenger > businessPass ?
                                    l.CurrentPassengerCount.CountOfBusinessPassenger : businessPass;
                }
                return(new TourDetailsDto
                {
                    BookedPoints = b,
                    CurrentPassengerCount = new CountPassengerDto
                    {
                        CountOfEconomyPassenger = economyPass,
                        CountOfBusinessPassenger = businessPass
                    }
                });
            }
        }
Пример #13
0
 public void PostAddress(AddressDto address)
 {
     using (var db = new ExtraAirContext())
     {
         db.Addresses.Add(new ExtraAirCore.Models.EFModels.Address()
         {
             AddressId    = address.AddressId,
             City         = address.City,
             Country      = address.Country,
             PostIndex    = address.PostIndex,
             Street       = address.Street,
             StreetNumber = address.StreetNumber
         });
         db.SaveChanges();
     }
 }
Пример #14
0
 public IEnumerable <AirportDto> GetAirportsById(int id)
 {
     using (var dbContext = new ExtraAirContext())
     {
         Mapper.Initialize(cfg => cfg.CreateMap <Airport, AirportDto>()
                           .ForMember(d => d.Country, o => o.MapFrom(a => a.Address.Country))
                           .ForMember(d => d.City, o => o.MapFrom(a => a.Address.City)));
         var tourIds =
             dbContext.TourToAirports.ToList()
             .Where(x => !x.isInterim && x.DateStart != null && x.AirportId == id)
             .Select(x => x.TourId);
         var toursList = dbContext.TourToAirports.Where(x => !x.isInterim && x.DateFinish != null).ToList();
         var res       = new List <AirportDto>();
         foreach (var tourid in tourIds)
         {
             res.AddRange(toursList.Where(x => x.TourId == tourid).Select(x => MapHepler(x.Airport)));
         }
         return(res.GroupBy(p => p.AirportId).Select(g => g.First()).ToList());
     }
 }
Пример #15
0
        public List <TourStatusDto> GetTourWithStatus(int?tourId = null, DateTime?dateStart = null, DateTime?dateFinish = null, int?airportFromId = null, int?airportToId = null)
        {
            using (var dbContext = new ExtraAirContext())
            {
                var mappedTours  = dbContext.Tours.Select(TourMapHelder).ToList();
                var tourStatuses = dbContext.TourStatuses.ToList();

                if (tourId != null)
                {
                    mappedTours  = mappedTours.Where(x => x.TourId == tourId.Value).ToList();
                    tourStatuses = tourStatuses.Where(x => x.TourId == tourId.Value).ToList();
                }
                if (airportFromId != null)
                {
                    mappedTours  = mappedTours.Where(x => x.AirportFrom.AirportId == airportFromId).ToList();
                    tourStatuses = tourStatuses.Where(x => x.AirportFromId == airportFromId).ToList();
                }
                if (airportToId != null)
                {
                    mappedTours  = mappedTours.Where(x => x.AirportTo.AirportId == airportToId).ToList();
                    tourStatuses = tourStatuses.Where(x => x.AirportToId == airportToId).ToList();
                }
                if (dateStart != null)
                {
                    mappedTours  = mappedTours.Where(x => x.PossibleDays.Contains(dateStart.Value.ToString("dddd"))).ToList();
                    tourStatuses = tourStatuses.Where(x => x.DateStart.ToString("dddd") == dateStart.Value.ToString("dddd")).ToList();
                }
                if (dateFinish != null)
                {
                    mappedTours  = mappedTours.Where(x => x.PossibleDays.Contains(dateFinish.Value.ToString("dddd"))).ToList();
                    tourStatuses = tourStatuses.Where(x => x.DateFinish.ToString("dddd") == dateFinish.Value.ToString("dddd")).ToList();
                }


                var res = new List <TourStatusDto>();

                foreach (var mappedTour in mappedTours)
                {
                    var stausFromTs = tourStatuses.FirstOrDefault(x => x.TourId == mappedTour.TourId &&
                                                                  (x.DateStart.Date.ToString("dddd") == mappedTour.DateStart.Value.ToString("dddd") ||
                                                                   x.DateFinish.Date.ToString("dddd") == mappedTour.DateFinish.Value.ToString("dddd")) &&
                                                                  ((x.DateStart.Date == dateStart.Value.Date) || (x.DateFinish.Date == dateStart.Value.Date)));
                    var tourStatus         = new TourStatusType();
                    var newMappedDateStart = new DateTime(dateStart.Value.Year, dateStart.Value.Month, dateStart.Value.Day, mappedTour.DateStart.Value.Hour,
                                                          mappedTour.DateStart.Value.Minute, mappedTour.DateStart.Value.Second);
                    var newMappedDateFinish = new DateTime(dateStart.Value.Year, dateStart.Value.Month, dateStart.Value.Day, mappedTour.DateFinish.Value.Hour,
                                                           mappedTour.DateFinish.Value.Minute, mappedTour.DateFinish.Value.Second);
                    if (stausFromTs != null)
                    {
                        tourStatus = stausFromTs.TourStatusType;
                    }
                    else
                    {
                        if (newMappedDateStart > DateTime.Now && newMappedDateFinish < DateTime.Now)
                        {
                            tourStatus = TourStatusType.Departed;
                        }

                        else if (newMappedDateStart > DateTime.Now)
                        {
                            tourStatus = TourStatusType.Pending;
                        }
                        else
                        {
                            tourStatus = TourStatusType.InTime;
                        }
                    }

                    res.Add(new TourStatusDto
                    {
                        TourId         = mappedTour.TourId,
                        TourStatusId   = stausFromTs?.TourStatusId,
                        DateStart      = stausFromTs?.DateStart ?? newMappedDateStart,
                        DateFinish     = stausFromTs?.DateFinish ?? newMappedDateFinish,
                        AirportFrom    = mappedTour.AirportFrom,
                        AirportTo      = mappedTour.AirportTo,
                        TourStatusType = tourStatus
                    });
                }

                return(res);
            }
        }
Пример #16
0
 public AuthRepository()
 {
     _ctx         = new ExtraAirContext();
     _userManager = new UserManager <IdentityUser>(new UserStore <IdentityUser>(_ctx));
 }
Пример #17
0
 public UserProvider(ExtraAirContext context)
 {
     dbContext = context;
 }