Esempio n. 1
0
        public IActionResult UpdateInsert(Wehicle wehicle)
        {
            if (ModelState.IsValid)
            {
                string webRootPath = _hostEnvironment.WebRootPath;
                var    files       = HttpContext.Request.Form.Files;
                if (wehicle.Id == 0)
                {
                    string fileName  = Guid.NewGuid().ToString();
                    var    uploads   = Path.Combine(webRootPath, @"images\wehicles");
                    var    extension = Path.GetExtension(files[0].FileName);

                    using (var fileStreams = new FileStream(Path.Combine(uploads, fileName + extension), FileMode.Create))
                    {
                        files[0].CopyTo(fileStreams);
                    }
                    wehicle.ImageUrl = @"\images\wehicles\" + fileName + extension;

                    wehicle.IsActive = true;
                    _unitOfWork.Wehicle.Add(wehicle);
                }
                else
                {
                    var wehicleFromDb = _unitOfWork.Wehicle.Get(wehicle.Id);
                    if (files.Count > 0)
                    {
                        string fileName      = Guid.NewGuid().ToString();
                        var    uploads       = Path.Combine(webRootPath, @"images\wehicles");
                        var    extension_new = Path.GetExtension(files[0].FileName);

                        var imagePath = Path.Combine(webRootPath, wehicleFromDb.ImageUrl.TrimStart('\\'));
                        if (System.IO.File.Exists(imagePath))
                        {
                            System.IO.File.Delete(imagePath);
                        }

                        using (var fileStreams = new FileStream(Path.Combine(uploads, fileName + extension_new), FileMode.Create))
                        {
                            files[0].CopyTo(fileStreams);
                        }
                        wehicle.ImageUrl = @"\images\wehicles\" + fileName + extension_new;
                    }
                    else
                    {
                        wehicle.ImageUrl = wehicleFromDb.ImageUrl;
                    }

                    wehicle.IsActive = true;
                    _unitOfWork.Wehicle.Update(wehicle);
                }
                _unitOfWork.Save();
                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                return(View(nameof(Index)));
            }
        }
Esempio n. 2
0
        public IActionResult UpdateInsert(int?id)
        {
            Wehicle wehicle = new Wehicle();

            if (id == null)
            {
                return(View(wehicle));
            }
            wehicle = _unitOfWork.Wehicle.Get(id.GetValueOrDefault());
            if (wehicle == null)
            {
                return(NotFound());
            }
            return(View(wehicle));
        }
Esempio n. 3
0
 static void Main(string[] args)
 {
     Wehicle wehicle = new Wehicle {
         Brand = "ADIDAS"
     };
 }
Esempio n. 4
0
        public IActionResult StartPurchase(StartPurchaseDto startPurchaseDto)
        {
            if (User.IsInRole(StaticData.UserRole))
            {
                IEnumerable <BusRoute> BusRoutes = _unitOfWork.BusRoute.GetAll(br => br.TimetableId == startPurchaseDto.TimetableId);

                BusRoute busRoute = null;
                foreach (var item in BusRoutes)
                {
                    if (item.RouteDate.Year == startPurchaseDto.StartTime.Year && item.RouteDate.Month == startPurchaseDto.StartTime.Month && item.RouteDate.Day == startPurchaseDto.StartTime.Day)
                    {
                        busRoute = item;
                        break;
                    }
                }

                Timetable timetable = _unitOfWork.Timetable.GetFirstOrDefault(t => t.Id == startPurchaseDto.TimetableId);
                Wehicle   wehicle   = _unitOfWork.Wehicle.GetFirstOrDefault(w => w.Id == timetable.WehicleId);

                if (busRoute == null)
                {
                    busRoute = new BusRoute()
                    {
                        RouteDate      = new DateTime(startPurchaseDto.StartTime.Year, startPurchaseDto.StartTime.Month, startPurchaseDto.StartTime.Day),
                        AvailableSeats = wehicle.NumberOfSeats,
                        TimetableId    = startPurchaseDto.TimetableId
                    };

                    _unitOfWork.BusRoute.Add(busRoute);
                    _unitOfWork.Save();
                }

                ChooseTicketsParametersVM chooseTicketsParametersVM = new ChooseTicketsParametersVM();
                chooseTicketsParametersVM.BusRoute         = busRoute;
                chooseTicketsParametersVM.StartBusStopName = _unitOfWork.BusStop.GetFirstOrDefault(bs => bs.Id == startPurchaseDto.BusStopListStartId).Name;
                chooseTicketsParametersVM.EndBusStopName   = _unitOfWork.BusStop.GetFirstOrDefault(bs => bs.Id == startPurchaseDto.BusStopListEndId).Name;
                IList <ArrivalsDepartures> arrivalsDepartures = (IList <ArrivalsDepartures>)_unitOfWork.ArrivalsDepartures.GetAll(filter: ad => ad.TimetableId == timetable.Id, orderBy: t => t.OrderBy(o => o.ArrivalTime));
                bool IsFirst          = false;
                bool IsLast           = false;
                bool StartCounting    = false;
                bool StopCounting     = false;
                int  NumberOfBusStops = 1;
                for (int i = 0; i < arrivalsDepartures.Count; i++)
                {
                    if (arrivalsDepartures[i].BusStopId == startPurchaseDto.BusStopListStartId)
                    {
                        chooseTicketsParametersVM.DepartureTime = new DateTime(2000, 1, 1, arrivalsDepartures[i].DepartureTime.Value.Hour, arrivalsDepartures[i].DepartureTime.Value.Minute, 0);
                        if (i == 0)
                        {
                            IsFirst = true;
                        }
                        StartCounting = true;
                    }

                    if (arrivalsDepartures[i].BusStopId == startPurchaseDto.BusStopListEndId)
                    {
                        chooseTicketsParametersVM.ArrivalTime = new DateTime(2000, 1, 1, arrivalsDepartures[i].ArrivalTime.Value.Hour, arrivalsDepartures[i].ArrivalTime.Value.Minute, 0);
                        if (i == arrivalsDepartures.Count - 1)
                        {
                            IsLast = true;
                        }
                        StopCounting = true;
                    }

                    if (StartCounting == true && StopCounting == false)
                    {
                        NumberOfBusStops++;
                    }
                    int xx = 1;
                }
                if (IsFirst == true && IsLast == true)
                {
                    chooseTicketsParametersVM.Price         = _unitOfWork.TicketPrice.GetFirstOrDefault(tp => tp.Id == timetable.TicketPriceId).PricePerEntireRoute;
                    chooseTicketsParametersVM.IsEntireRoute = true;
                }
                else
                {
                    chooseTicketsParametersVM.Price         = _unitOfWork.TicketPrice.GetFirstOrDefault(tp => tp.Id == timetable.TicketPriceId).PricePerSegment *NumberOfBusStops;
                    chooseTicketsParametersVM.IsEntireRoute = false;
                }
                chooseTicketsParametersVM.NumberOfBusStops        = NumberOfBusStops;
                chooseTicketsParametersVM.ExtraBaggagePrice       = StaticData.ExtraBaggagePrice;
                chooseTicketsParametersVM.NumberOfNormalTickets   = 0;
                chooseTicketsParametersVM.NumberOfStudentsTickets = 0;
                chooseTicketsParametersVM.NumberOfExtraBaggages   = 0;
                chooseTicketsParametersVM.Wehicle = wehicle;

                return(View(chooseTicketsParametersVM));
            }
            else
            {
                return(RedirectToAction(nameof(NotLogIn)));
            }
        }