public async Task <IActionResult> Create([FromBody] DriverCreate model)
        {
            try
            {
                var result = await _driverService.Create(model);

                return(Ok(result));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
示例#2
0
        /// <summary>
        /// This allow a driver to be created
        /// </summary>
        /// <param name="driver"></param>
        /// <returns>"The driver was successfully created."</returns>
        public IHttpActionResult Post(DriverCreate driver)
        {
            //User.Identity.IsAuthenticated
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var service = CreateDriverService();

            if (!service.CreateDriver(driver))
            {
                return(InternalServerError());
            }

            return(Ok("The driver was successfully created."));
        }
示例#3
0
        public bool CreateDriver(DriverCreate model)
        {
            var entity =
                new Driver()
            {
                OwnerId       = _userId,
                FirstName     = model.FirstName,
                LastName      = model.LastName,
                Age           = model.Age,
                LicenseNumber = model.LicenseNumber,
                SpaceshipMake = model.SpaceshipMake
            };

            using (var ctx = new ApplicationDbContext())
            {
                ctx.Drivers.Add(entity);
                return(ctx.SaveChanges() == 1);
            }
        }
        public ActionResult Create(DriverCreate model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var service = CreateDriverService();

            if (service.CreateDriver(model))
            {
                TempData["SaveResult"] = "You have been registered!";
                return(RedirectToAction("Index"));
            }
            ;

            ModelState.AddModelError("", "Info could not be registered.");

            return(View(model));
        }
示例#5
0
        private async Task <long> CreateUser(long userId, DriverCreate model)
        {
            ApplicationUser user = new ApplicationUser
            {
                CreatedAt    = DateTime.Now,
                CreatedBy    = userId,
                Email        = model.Email,
                FullName     = model.DriverFullName,
                IsActive     = true,
                MobileNumber = model.MobileNumber,
                UserName     = model.Username,
                UserGuid     = Guid.NewGuid()
            };
            IdentityResult result = await _userManager.CreateAsync(user, model.Password);

            if (result.Succeeded)
            {
                CreateRoleIfNotExist("Driver", user.Id);
                return(user.Id);
            }
            throw new Exception("حصل خطأ");
        }
示例#6
0
        public async Task <IActionResult> Create(DriverCreate model)
        {
            if (model.MobileNumber.StartsWith('0'))
            {
                model.MobileNumber = "962" + model.MobileNumber.Substring(1);
            }
            else
            {
                model.MobileNumber = "962" + model.MobileNumber;
            }
            CheckCredetials(model.Username, model.Email, model.MobileNumber);
            long userId = _principalService.GetUserId();
            var  result = await CreateUser(userId, model);

            if (result != 0)
            {
                Driver driver = new Driver
                {
                    Address              = model.Address,
                    CreatedAt            = DateTime.Now,
                    CreatedBy            = userId,
                    DriverFullName       = model.DriverFullName,
                    MobileNumber         = model.MobileNumber,
                    DrivingLisenceNumber = model.DrivingLisenceNumber,
                    Status     = model.Status,
                    UserId     = result,
                    IsActive   = true,
                    DriverGuid = Guid.NewGuid()
                };
                _db.Drivers.Add(driver);
                int driverResult = _db.SaveChanges();
                if (driverResult == 1)
                {
                    return(new OkObjectResult(driverResult));
                }
                throw new Exception("حصل خطأ");
            }
            throw new Exception("حصل خطأ");
        }
示例#7
0
        /// <summary>
        /// This will create a new driver!
        /// </summary>
        /// <param name="model">The drivers model, the different aspects of the driver (First Name, Last Name, Hourly Rate, Location, Type of Boat, Days Available, Maximum Number of Occupants).</param>
        /// <returns>This does not return a value.</returns>
        public bool CreateDriver(DriverCreate model)
        {
            using (var ctx = new ApplicationDbContext())
            {
                var entity =
                    new Driver()
                {
                    ApplicationUser   = _userId,
                    DriverFirstName   = model.DriverFirstName,
                    DriverLastName    = model.DriverLastName,
                    HourlyRate        = model.HourlyRate,
                    Location          = model.Location,
                    TypeOfBoat        = model.TypeOfBoat,
                    DaysAvailable     = model.DaysAvailable,
                    MaximumOccupants  = model.MaximumOccupants,
                    UserCreatedDriver = ctx.Users.Single(d => d.Id == _userId.ToString()).UserName,
                };

                ctx.Drivers.Add(entity);
                return(ctx.SaveChanges() == 1);
            }
        }