public async Task<IActionResult> AddVehicle(AddServiceItemViewModel model)
        {
            if (this.ModelState.IsValid)
            {
                await _serviceOrderRepository.AddItemToServiceOrderAsync(model, this.User.Identity.Name);
                return this.RedirectToAction("Create");
            }

            return View(model);
        }
Exemplo n.º 2
0
        public async Task AddItemToServiceOrderAsync(AddServiceItemViewModel model, string userName)
        {
            var user = await _userHelper.GetUserByEmailAsync(userName);

            if (user == null)
            {
                return;
            }

            var vehicle = await _context.Vehicles.FindAsync(model.VehicleId);

            if (vehicle == null)
            {
                return;
            }


            var serviceType = await _context.ServiceTypes.FindAsync(model.VehicleId);

            if (serviceType == null)
            {
                return;
            }

            var parts = await _context.Parts.FindAsync(model.VehicleId);

            if (serviceType == null)
            {
                return;
            }

            var serviceOrderDetailTemp = await _context.ServiceOrderDetailTemp
                                         .Where(adt => adt.User == user && adt.Vehicle == vehicle)
                                         .FirstOrDefaultAsync();

            if (serviceOrderDetailTemp == null)
            {
                serviceOrderDetailTemp = new ServiceOrderDetailTemp
                {
                    LicencePlate = vehicle.VehiclePlateNumber,
                    ServiceType  = serviceType.Type,
                    PartName     = parts.PartName,
                    Vehicle      = vehicle,
                    User         = user
                };

                _context.ServiceOrderDetailTemp.Add(serviceOrderDetailTemp);
            }
            else
            {
                _context.ServiceOrderDetailTemp.Update(serviceOrderDetailTemp);
            }

            await _context.SaveChangesAsync();
        }
        public IActionResult AddVehicle()
        {
            var model = new AddServiceItemViewModel
            {
                Vehicles = _vehicleRepository.GetComboVehicles(),
                ServiceType = _serviceTypeRepository.GetAllServiceTypes(),
                Parts = _partsRepository.GetAllParts()
            };

            return View(model);
        }
        public IEnumerable <SelectListItem> GetAllParts()
        {
            var model = new AddServiceItemViewModel();
            var list  = _context.Parts.Select(p => new SelectListItem
            {
                Text  = p.PartName,
                Value = p.Id.ToString()
            }).ToList();

            list.Insert(0, new SelectListItem
            {
                Text  = "(Select a Part...)",
                Value = "0"
            });

            return(list);
        }
        public IEnumerable <SelectListItem> GetAllServiceTypes()
        {
            var model = new AddServiceItemViewModel();
            var list  = _context.ServiceTypes.Select(s => new SelectListItem
            {
                Text  = s.Type,
                Value = s.Id.ToString()
            }).ToList();

            list.Insert(0, new SelectListItem
            {
                Text  = "(Select a Service Type...)",
                Value = "0"
            });

            return(list);
        }
Exemplo n.º 6
0
        public IActionResult PhaseTwoAddItemService(AddServiceItemViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            Guid?_id = null;

            var user    = this._context.Users.FirstOrDefault(u => u.Id == model.UserId);
            var service = this._context.Services.FirstOrDefault(s => s.Id == model.ServiceId);
            var booking = this._context.Bookings.FirstOrDefault(b => b.Id == model.BookingId);

            if (user != null)
            {
                if (service != null)
                {
                    if (booking != null)
                    {
                        booking.ServiceId     = model.ServiceId;
                        booking.Price         = service.Price;
                        booking.Description   = service.Description;
                        booking.ServiceType   = service.ServiceType;
                        booking.Title         = service.Vehicle;
                        booking.ItemTotal     = 1;
                        booking.BookingStatus = Infrastructures.Domain.Enums.BookingStatus.Pending;
                        booking.PaymentType   = Infrastructures.Domain.Enums.PaymentType.Unpaid;

                        this._context.Bookings.Update(booking);
                        this._context.SaveChanges();

                        _id = booking.Id;
                    }
                }
            }

            return(Content(@"/booking/phase-three-booking/" + model.UserId + "/" + _id));
        }