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))); } }
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)); }
static void Main(string[] args) { Wehicle wehicle = new Wehicle { Brand = "ADIDAS" }; }
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))); } }