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));
        }
Esempio n. 3
0
        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);
        }
Esempio n. 5
0
        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();
        }
Esempio n. 7
0
        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"));
        }
Esempio n. 8
0
        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));
        }
Esempio n. 9
0
        public IActionResult CreateRoute([FromBody] CreateRouteViewModel model)
        {
            var result = _pageService.CreateRoute(model);

            return(Ok(model));
        }
Esempio n. 10
0
 public CreateRouteWindow()
 {
     InitializeComponent();
     DataContext = new CreateRouteViewModel(this);
 }