public async Task <ResponseData <LoginResult> > RegisterAsync([FromBody] LoginRequest request)
        {
            var a = await db.CarOwners.FirstAsync();

            var result = await CarOwnerService.Register(db, request.Username, request.Password);

            switch (result.Type)
            {
            case LoginOrRegisterResultType.Succeed:
                var r = new LoginResult(result.CarOwner);
                HttpContext.Session.SetInt32("user", r.CarOwner.ID);
                return(new ResponseData <LoginResult>()
                {
                    Message = "注册成功",
                    Data = r
                });

            case LoginOrRegisterResultType.Existed:
                return(new ResponseData <LoginResult>()
                {
                    Succeed = false,
                    Message = "用户名已存在",
                });

            default:
                throw new NotImplementedException();
            }
        }
        public async Task TestVehicleController_GetCarsByCarOwner()
        {
            using (var transaction = Fixture.Connection.BeginTransaction())
            {
                using (var context = Fixture.CreateContext(transaction))
                {
                    using var serviceScope = _serviceProvider.CreateScope();
                    var appEnvirontent = serviceScope.ServiceProvider.GetRequiredService <IWebHostEnvironment>();
                    var seed           = new SeedData(new VehicleImageRetriever(), appEnvirontent);


                    var userManager     = serviceScope.ServiceProvider.GetRequiredService <ICustomUserManager>();
                    var userRoleManager = serviceScope.ServiceProvider.GetRequiredService <ICustomRoleManager>();
                    await seed.Initialize(userManager, userRoleManager, context);

                    var carsRepo       = new CarsRepository(context);
                    var carOwnerRepo   = new CarOwnersRepository(context);
                    var identitySevice = new Mock <IIdentityService>();

                    var carService      = new CarService(carsRepo, carOwnerRepo, identitySevice.Object);
                    var carOwnerService = new CarOwnerService(carOwnerRepo);

                    var mockLogger = new Mock <ILogger <VehiclesController> >();
                    ILogger <VehiclesController> logger = mockLogger.Object;

                    var mockWebHostingEnvironment = new Mock <IWebHostEnvironment>();

                    var mockCustomAuthorizationService = new Mock <ICustomAuthorizationService>();
                    mockCustomAuthorizationService
                    .Setup(m => m.AuthorizeAsync(
                               It.IsAny <ClaimsPrincipal>(),
                               It.IsAny <object>(),
                               It.IsAny <IAuthorizationRequirement>())
                           ).ReturnsAsync(AuthorizationResult.Success);

                    var controller = new VehiclesController(
                        carService,
                        logger,
                        new UriService("https://localhost:5010"),
                        new CustomMapper(
                            new VehicleImageRetriever()),
                        mockWebHostingEnvironment.Object,
                        new VehicleImageRetriever(),
                        mockCustomAuthorizationService.Object
                        );

                    Random rnd               = new Random();
                    var    index             = rnd.Next(0, context.Users.AsNoTracking().ToHashSet().Count);
                    var    owner             = context.Users.AsNoTracking().ToList()[index];
                    var    resJson           = JsonConvert.SerializeObject(owner);
                    var    deserializedOwner = JsonConvert.DeserializeObject <OwnerRequest>(resJson);

                    var res = await controller.GetCarsByCarOwner(deserializedOwner);

                    Assert.NotNull(res);
                    Assert.IsAssignableFrom <OkObjectResult>(res);
                }
            }
        }
Esempio n. 3
0
        public async Task TestOwnersAPI()
        {
            //Arrange
            var service = new CarOwnerService(configuration);

            //Act
            var result = await service.CallAPI();

            //Assert
            result.Should().NotBeNullOrEmpty();
            result.Should().BeOfType <string>();
        }
        //public async Task<IActionResult> OnPostCarOwnerList_DoPostBackAsync(string[] Grid1_fields, int Grid1_pageIndex, string Grid1_sortField, string Grid1_sortDirection,
        //    string ttbSearchMessage, string rblEnableStatus, int ddlGridPageSize, string actionType, int[] deletedRowIDs)
        //{
        //    List<int> ids = new List<int>();
        //    if (deletedRowIDs != null)
        //    {
        //        ids.AddRange(deletedRowIDs);
        //    }

        //    var ttbSearchMessageUI = UIHelper.TwinTriggerBox("ttbSearchMessage");
        //    if (actionType == "trigger1")
        //    {
        //        ttbSearchMessageUI.Text(String.Empty);
        //        ttbSearchMessageUI.ShowTrigger1(false);

        //        // 清空传入的搜索值
        //        ttbSearchMessage = String.Empty;
        //    }
        //    else if (actionType == "trigger2")
        //    {
        //        ttbSearchMessageUI.ShowTrigger1(true);
        //    }
        //    else if (actionType == "delete")
        //    {
        //        // 在操作之前进行权限检查
        //        if (!CheckPower("CoreUserDelete"))
        //        {
        //            CheckPowerFailWithAlert();
        //            return UIHelper.Result();
        //        }

        //        ParkDB.CarOwners.Where(u => ids.Contains(u.ID)).ToList().ForEach(u => ParkDB.CarOwners.Remove(u));
        //        await ParkDB.SaveChangesAsync();
        //    }
        //    else if (actionType == "enable")
        //    {
        //        // 在操作之前进行权限检查
        //        if (!CheckPower("CoreUserEdit"))
        //        {
        //            CheckPowerFailWithAlert();
        //            return UIHelper.Result();
        //        }

        //        ParkDB.CarOwners.Where(u => ids.Contains(u.ID)).ToList().ForEach(u => u.Enabled = true);
        //        await DB.SaveChangesAsync();
        //    }
        //    else if (actionType == "pswd")
        //    {
        //        if (!CheckPower("CoreUserEdit"))
        //        {
        //            CheckPowerFailWithAlert();
        //            return UIHelper.Result();
        //        }

        //        foreach (var owner in ParkDB.CarOwners.Where(u => ids.Contains(u.ID)).ToList())
        //        {
        //            await CarOwnerService.SetPasswordAsync(ParkDB, owner, "123456");
        //        }
        //        ShowNotify("已重设密码为123456");
        //        await DB.SaveChangesAsync();
        //    }
        //    else if (actionType == "disable")
        //    {
        //        // 在操作之前进行权限检查
        //        if (!CheckPower("CoreUserEdit"))
        //        {
        //            CheckPowerFailWithAlert();
        //            return UIHelper.Result();
        //        }

        //        DB.Users.Where(u => ids.Contains(u.ID)).ToList().ForEach(u => u.Enabled = false);
        //        await DB.SaveChangesAsync();
        //    }

        //    return await LoadGrid(Grid1_fields, Grid1_pageIndex, Grid1_sortField, Grid1_sortDirection, ttbSearchMessage, ddlGridPageSize, actionType);
        //}

        protected async override Task OtherPostBackAsync(string actionType, List <int> ids)
        {
            if (actionType == "pswd")
            {
                foreach (var owner in ParkDB.CarOwners.Where(u => ids.Contains(u.ID)).ToList())
                {
                    await CarOwnerService.SetPasswordAsync(ParkDB, owner, "123456");
                }
                ShowNotify("已重设密码为123456");
                await DB.SaveChangesAsync();
            }
        }
        public async Task TestVehicleController_GetOwnersByCarUniqueNumber()
        {
            using (var transaction = Fixture.Connection.BeginTransaction())
            {
                using (var context = Fixture.CreateContext(transaction))
                {
                    using var serviceScope = _serviceProvider.CreateScope();
                    var appEnvirontent = serviceScope.ServiceProvider.GetRequiredService <IWebHostEnvironment>();
                    var seed           = new SeedData(new VehicleImageRetriever(), appEnvirontent);


                    var userManager     = serviceScope.ServiceProvider.GetRequiredService <ICustomUserManager>();
                    var userRoleManager = serviceScope.ServiceProvider.GetRequiredService <ICustomRoleManager>();
                    await seed.Initialize(userManager, userRoleManager, context);


                    var carsRepo       = new CarsRepository(context);
                    var carOwnerRepo   = new CarOwnersRepository(context);
                    var identitySevice = new Mock <IIdentityService>();

                    var carService = new CarService(carsRepo, carOwnerRepo, identitySevice.Object);


                    var carOwnerService = new CarOwnerService(carOwnerRepo);

                    var mockLogger = new Mock <ILogger <VehiclesController> >();
                    ILogger <VehiclesController> logger = mockLogger.Object;

                    var controller = new CarOwnersController(
                        carOwnerService,
                        logger,
                        new UriService("https://localhost:5010"),
                        new CustomMapper(
                            new VehicleImageRetriever())
                        );

                    Random rnd   = new Random();
                    var    index = rnd.Next(0, context.Cars.AsNoTracking().ToHashSet().Count);
                    var    car   = context.Cars.AsNoTracking().ToList()[index];

                    var res = await controller.GetOwnersByCarUniqueNumber(car.UniqueNumber);

                    Assert.NotNull(res);
                    Assert.IsAssignableFrom <OkObjectResult>(res);
                }
            }
        }
Esempio n. 6
0
        public async Task JSONTesting()
        {
            //Arrange
            var service = new CarOwnerService(configuration);

            //Act
            var result = await service.CallAPI();

            // Deserialise the Json owner data from string and cast into an IEnumerable list of Owner.
            Action act = () => { JsonConvert.DeserializeObject <IEnumerable <Owner> >(result); };

            //Assert
            act.Should().NotThrow <Exception>();

            var owners = JsonConvert.DeserializeObject <IEnumerable <Owner> >(result);

            owners.Should().HaveCount(10);  // Should have 10 items from the original API
        }
Esempio n. 7
0
        public async Task <ResponseData <object> > ChangePasswordAsync([FromBody] ChangePasswordRequest request)
        {
            if (!request.IsValid())
            {
                return(new ResponseData <object>()
                {
                    Succeed = false, Message = "用户验证失败"
                });
            }
            CarOwner carOwner = await db.CarOwners.FindAsync(request.UserID);

            if (carOwner == null)
            {
                return(new ResponseData <object>(null, false, "找不到用户"));
            }
            if (carOwner.Password != CarOwnerService.CreateMD5(carOwner.Username + request.OldPassword))
            {
                return(new ResponseData <object>(null, false, "旧密码错误"));
            }
            await CarOwnerService.SetPasswordAsync(db, carOwner, request.NewPassword);

            return(new ResponseData <object>());
        }
Esempio n. 8
0
        static void Main(string[] args)
        {
            IAuctionCarService   auctionCarService   = new AuctionCarService();
            IAuctionLotService   auctionLotService   = new AuctionLotService();
            IAuctionPhotoService auctionPhotoService = new AuctionPhotoService();
            ICarService          carService          = new CarService();
            ICarOwnerService     carOwnerService     = new CarOwnerService();
            IPhotosService       photosService       = new PhotosService();
            IUsersCarService     usersCarService     = new UsersCarService();
            IUsersPhotosService  usersPhotosService  = new UsersPhotosService();

            IOrderService orderService = new OrderService();
            IUserService  userService  = new UserService();


            try
            {
                auctionCarService.ChangeBrand("");
            }
            catch (EmptyStringException e)
            {
                Console.WriteLine("Message : " + e.Message +
                                  "\nTime : " + DateTime.Now +
                                  "\nStacktrace : " + e.StackTrace +
                                  "\nThread : " + Thread.CurrentThread +
                                  "\nProcessId : " + Process.GetCurrentProcess().Id);
            }

            Console.WriteLine();

            try
            {
                auctionCarService.ChangeCondition("nn");
            }
            catch (ConditionException e)
            {
                Console.WriteLine("Message : " + e.Message +
                                  "\nTime : " + DateTime.Now +
                                  "\nStacktrace : " + e.StackTrace +
                                  "\nThread : " + Thread.CurrentThread +
                                  "\nProcessId : " + Process.GetCurrentProcess().Id);
            }

            Console.WriteLine();

            try
            {
                auctionCarService.ChangeFuel("Gg");
            }
            catch (FuelException e)
            {
                Console.WriteLine("Message : " + e.Message +
                                  "\nTime : " + DateTime.Now +
                                  "\nStacktrace : " + e.StackTrace +
                                  "\nThread : " + Thread.CurrentThread +
                                  "\nProcessId : " + Process.GetCurrentProcess().Id);
            }

            Console.WriteLine();

            try
            {
                auctionCarService.ChangeYear(0);
            }
            catch (InvalidYearException e)
            {
                Console.WriteLine("Message : " + e.Message +
                                  "\nTime : " + DateTime.Now +
                                  "\nStacktrace : " + e.StackTrace +
                                  "\nThread : " + Thread.CurrentThread +
                                  "\nProcessId : " + Process.GetCurrentProcess().Id);
            }

            Console.WriteLine();

            try
            {
                auctionCarService.ChangeHP(0);
            }
            catch (ZeroException e)
            {
                Console.WriteLine("Message : " + e.Message +
                                  "\nTime : " + DateTime.Now +
                                  "\nStacktrace : " + e.StackTrace +
                                  "\nThread : " + Thread.CurrentThread +
                                  "\nProcessId : " + Process.GetCurrentProcess().Id);
            }

            Console.WriteLine();

            try
            {
                userService.ChangeEmail("fsdf");
            }
            catch (InvalidEmailException e)
            {
                Console.WriteLine("Message : " + e.Message +
                                  "\nTime : " + DateTime.Now +
                                  "\nStacktrace : " + e.StackTrace +
                                  "\nThread : " + Thread.CurrentThread +
                                  "\nProcessId : " + Process.GetCurrentProcess().Id);
            }

            Console.WriteLine();

            try
            {
                userService.ChangeLogin("");
            }
            catch (InvalidLoginException e)
            {
                Console.WriteLine("Message : " + e.Message +
                                  "\nTime : " + DateTime.Now +
                                  "\nStacktrace : " + e.StackTrace +
                                  "\nThread : " + Thread.CurrentThread +
                                  "\nProcessId : " + Process.GetCurrentProcess().Id);
            }

            Console.WriteLine();

            try
            {
                userService.ChangePassword("");
            }
            catch (InvalidPasswordException e)
            {
                Console.WriteLine("Message : " + e.Message +
                                  "\nTime : " + DateTime.Now +
                                  "\nStacktrace : " + e.StackTrace +
                                  "\nThread : " + Thread.CurrentThread +
                                  "\nProcessId : " + Process.GetCurrentProcess().Id);
            }

            Console.WriteLine();

            try
            {
                userService.ChangeRole("");
            }
            catch (InvalidRoleException e)
            {
                Console.WriteLine("Message : " + e.Message +
                                  "\nTime : " + DateTime.Now +
                                  "\nStacktrace : " + e.StackTrace +
                                  "\nThread : " + Thread.CurrentThread +
                                  "\nProcessId : " + Process.GetCurrentProcess().Id);
            }

            Console.WriteLine();

            try
            {
                usersPhotosService.ChangePhoto("fs");
            }
            catch (InvalidPathException e)
            {
                Console.WriteLine("Message : " + e.Message +
                                  "\nTime : " + DateTime.Now +
                                  "\nStacktrace : " + e.StackTrace +
                                  "\nThread : " + Thread.CurrentThread +
                                  "\nProcessId : " + Process.GetCurrentProcess().Id);
            }
        }
Esempio n. 9
0
        static void Main(string[] args)
        {
            IAuctionCarService   auctionCarService   = new AuctionCarService();
            IAuctionLotService   auctionLotService   = new AuctionLotService();
            IAuctionPhotoService auctionPhotoService = new AuctionPhotoService();
            ICarService          carService          = new CarService();
            ICarOwnerService     carOwnerService     = new CarOwnerService();
            IPhotosService       photosService       = new PhotosService();
            IUsersCarService     usersCarService     = new UsersCarService();
            IUsersPhotosService  usersPhotosService  = new UsersPhotosService();

            IOrderService orderService = new OrderService();
            IUserService  userService  = new UserService();

            Console.WriteLine("==== Auction cars ====\n");

            foreach (var item in auctionCarService.GetCars())
            {
                Console.WriteLine(item + "\n");
            }

            Console.WriteLine();

            Console.WriteLine("==== Auction lots ====\n");

            foreach (var item in auctionLotService.GetLots())
            {
                Console.WriteLine(item + "\n");
            }

            Console.WriteLine();

            Console.WriteLine("==== Auction photos ====\n");

            foreach (var item in auctionPhotoService.GetPhotos())
            {
                Console.WriteLine(item + "\n");
            }

            Console.WriteLine();

            Console.WriteLine("==== Cars ====\n");

            foreach (var item in carService.GetCars())
            {
                Console.WriteLine(item + "\n");
            }

            Console.WriteLine();

            Console.WriteLine("==== Car owners ====\n");

            foreach (var item in carOwnerService.GetCarOwners())
            {
                Console.WriteLine(item + "\n");
            }

            Console.WriteLine();

            Console.WriteLine("==== Photos ====\n");

            foreach (var item in photosService.GetPhotos())
            {
                Console.WriteLine(item + "\n");
            }

            Console.WriteLine();

            Console.WriteLine("==== Users cars ====\n");

            foreach (var item in usersCarService.GetUsersCars())
            {
                Console.WriteLine(item + "\n");
            }

            Console.WriteLine();

            Console.WriteLine("==== Users photos ====\n");

            foreach (var item in usersPhotosService.GetUsersPhotos())
            {
                Console.WriteLine(item + "\n");
            }

            Console.WriteLine();

            Console.WriteLine("==== Orders ====\n");

            foreach (var item in orderService.GetOrders())
            {
                Console.WriteLine(item + "\n");
            }

            Console.WriteLine();

            Console.WriteLine("==== Users ====\n");

            foreach (var item in userService.GetUsers())
            {
                Console.WriteLine(item + "\n");
            }
        }