public IHttpActionResult Put(int id, CreateRouteViewModel viewModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != viewModel.Id) { return(BadRequest()); } Route p = unitOfWork.RouteRepository.Get(id); p.Order = viewModel.Order; p.RunTime = viewModel.RunTime; p.VisitId = viewModel.VisitId; p.PointOfInterestId = viewModel.PoiId; p.Hour = viewModel.Hour; try { unitOfWork.RouteRepository.Update(p); unitOfWork.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (unitOfWork.RouteRepository.Get(id) == null) { return(NotFound()); } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult Post(CreateRouteViewModel viewModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (viewModel == null) { return(BadRequest(ModelState)); } var route = new Route { VisitId = viewModel.VisitId, Hour = viewModel.Hour, Order = viewModel.Order, PointOfInterestId = viewModel.PoiId, RunTime = viewModel.RunTime }; unitOfWork.RouteRepository.Insert(route); unitOfWork.SaveChanges(); viewModel.Id = route.Id; return(CreatedAtRoute("DefaultApi", new { id = viewModel.Id }, viewModel)); }
public async Task <IActionResult> CreateAsync([FromBody] CreateRouteViewModel createRouteViewModel) { var createRouteDto = _mapper.Map <CreateRouteDto>(createRouteViewModel); var createdRouteDto = await _routeService.CreateAsync(createRouteDto); var createdRouteViewModel = _mapper.Map <RouteViewModel>(createdRouteDto); return(Ok(createdRouteViewModel)); }
/// <summary> /// Creates CreateRouteViewModel object with given Title and Trip id. /// </summary> /// <param name="title">Route title.</param> /// <param name="tripId">Trip id.</param> /// <returns>Created CreateRouteViewModel object.</returns> protected static CreateRouteViewModel BuildCreateRouteViewModel(string title = "Default", int tripId = 3) { var createRouteViewModel = new CreateRouteViewModel() { Title = title, TripId = tripId }; return(createRouteViewModel); }
public CreateRouteViewModel CreateRoute(CreateRouteViewModel vm) { var content = new Content() { Header = vm.PageTitle, }; _context.Contents.Add(content); var page = new Page() { Name = vm.Page, Content = content, Type = (PageType)vm.Type }; _context.Pages.AddAsync(page); var controller = _context.Controllers.FirstOrDefault(c => c.Name.ToLower() == vm.Controller); if (controller == null) { var controllerEntity = new Controller() { Name = vm.Controller }; controllerEntity.Pages.Add(page); _context.Controllers.Add(controllerEntity); } else { controller.Pages.Add(page); } var alias = $"{page.Name}"; if (_context.Pages.Any(x => x.Alias == alias)) { var rnd = new Random(); alias = alias + rnd.Next(1000, 1999).ToString(); } page.Alias = alias; _context.SaveChanges(); return(vm); }
private static void SeedHomePage(IServiceScope serviceScope) { var pageService = serviceScope.ServiceProvider.GetService <IPageService>(); Task.Run(async() => { var routeModel = new CreateRouteViewModel { Page = "Index", Controller = "", PageTitle = "Index", Type = (int)PageType.Home }; var page = pageService.CreateRoute(routeModel); }).Wait(); }
public async Task <IActionResult> Create(CreateRouteViewModel model) { string message = String.Empty; if (ModelState.IsValid) { if (model.ArrivalPlaceId == model.DeparturePlaceId) { message = "Địa điểm xuất phát và địa điểm đến không được trùng nhau"; TempData["UserMessage"] = SystemUtilites.SendSystemNotification(NotificationType.Error, message); return(RedirectToAction(actionName: "Index")); } if (model.Distance <= 0) { message = "Chiều dài tuyến đường phải lớn hơn 0"; TempData["UserMessage"] = SystemUtilites.SendSystemNotification(NotificationType.Error, message); return(RedirectToAction(actionName: "Index")); } if (_routeServices.IsRouteExists(departureId: model.DeparturePlaceId, arrivalId: model.ArrivalPlaceId)) { message = "Đã tồn tại tuyến đường vận chuyển này"; TempData["UserMessage"] = SystemUtilites.SendSystemNotification(NotificationType.Error, message); return(RedirectToAction(actionName: "Index")); } var arrivalPlace = _locationServices.GetLocation(model.ArrivalPlaceId); var departurePlace = _locationServices.GetLocation(model.DeparturePlaceId); RouteInformation newRoute = new RouteInformation() { RouteId = Guid.NewGuid().ToString(), ArrivalPlace = arrivalPlace.LocationName, DeparturePlace = departurePlace.LocationName, ArrivalPlaceId = model.ArrivalPlaceId, DeparturePlaceId = model.DeparturePlaceId, Distance = model.Distance }; if (await _routeServices.CreateRoute(newRoute)) { message = "Tuyến vận chuyển được tạo"; TempData["UserMessage"] = SystemUtilites.SendSystemNotification(NotificationType.Success, message); return(RedirectToAction(actionName: "Index")); } } message = "Lỗi không xác định, xin mời thao tác lại"; TempData["UserMessage"] = SystemUtilites.SendSystemNotification(NotificationType.Error, message); return(RedirectToAction(actionName: "Index")); }
public async Task <IActionResult> Create(CreateRouteViewModel addRouteViewModel) { if (ModelState.IsValid) { var currentUserId = User.Identity.GetUserId(); var currentUser = _context.Users.FirstOrDefault(user => user.Id == currentUserId); var route = new Route { Currency = addRouteViewModel.Currency, From = addRouteViewModel.From, To = addRouteViewModel.To, RouteLength = addRouteViewModel.RouteLength.Value, Price = addRouteViewModel.Price, RouteStatus = RouteStatus.Pending, Capacity = addRouteViewModel.Capacity, Comment = addRouteViewModel.Comment, DepartureTime = new DateTime(addRouteViewModel.DepartureDate.Year, addRouteViewModel.DepartureDate.Month, addRouteViewModel.DepartureDate.Day, addRouteViewModel.DepartureTime.Hour, addRouteViewModel.DepartureTime.Minute, 0) }; var routeInfo = new RouteInfo { User = currentUser, IsDriver = true, Route = route }; _context.Add(routeInfo); await _context.SaveChangesAsync(); return(RedirectToAction("Index", "Home")); } return(View(addRouteViewModel)); }
public IActionResult CreateRoute([FromBody] CreateRouteViewModel model) { var result = _pageService.CreateRoute(model); return(Ok(model)); }
public CreateRouteWindow() { InitializeComponent(); DataContext = new CreateRouteViewModel(this); }