コード例 #1
0
        public async Task <IActionResult> AddProfile(AddProfileModel model, IFormCollection image1)
        {
            var userId = _userManager.GetUserId(User);

            var    user      = _userManager.FindByIdAsync(userId).Result;
            string storePath = "/images/profile/";
            var    path      = Path.Combine(
                Directory.GetCurrentDirectory(), "wwwroot", "images", "profile",
                image1.Files[0].FileName);

            using (var stream = new FileStream(path, FileMode.Create))
            {
                await image1.Files[0].CopyToAsync(stream);
            }
            var profile = new Profile
            {
                Id               = model.Id,
                UserName         = model.UserName,
                UserId           = model.UserId,
                FirstName        = model.FirstName,
                LastName         = model.LastName,
                TeamId           = model.TeamId,
                ShortDescription = model.ShortDescription,
                CountryId        = model.CountryId,
                Location         = model.Location,
                MemberSince      = DateTime.Now,
                ProfileImageUrl  = storePath + model.ImageUpload.FileName
            };
            await _profileService.Create(profile);

            return(RedirectToAction("Detail", "Profile", new { id = userId }));
        }
        public long AddProfile(AddProfileModel model)
        {
            var inFirstName = new SqlParameter
            {
                ParameterName = "FirstName",
                Value         = model.FirstName,
                DbType        = System.Data.DbType.String,
                Direction     = System.Data.ParameterDirection.Input
            };
            var inLastName = new SqlParameter
            {
                ParameterName = "LastName",
                Value         = model.LastName,
                DbType        = System.Data.DbType.String,
                Direction     = System.Data.ParameterDirection.Input
            };
            var inPatronymic = new SqlParameter
            {
                ParameterName = "Patronymic",
                Value         = model.Patronymic,
                DbType        = System.Data.DbType.String,
                Direction     = System.Data.ParameterDirection.Input
            };
            var inPhoneNumber = new SqlParameter
            {
                ParameterName = "PhoneNumber",
                Value         = model.PhoneNumber,
                DbType        = System.Data.DbType.String,
                Direction     = System.Data.ParameterDirection.Input
            };
            var outResultProfileId = new SqlParameter
            {
                ParameterName = "ResultProfileId",
                DbType        = System.Data.DbType.Int64,
                Direction     = System.Data.ParameterDirection.Output
            };
            var sql = "exec AddProfile @FirstName, @LastName, @Patronymic, @PhoneNumber, @ResultProfileId OUT";

            using (var dbContext = new PersonsContext())
            {
                _ = dbContext.Database.ExecuteSqlCommand(sql, inFirstName, inLastName, inPatronymic, inPhoneNumber, outResultProfileId);
            }

            if (!long.TryParse(outResultProfileId.Value.ToString(), out long result))
            {
                return(0);
            }

            return(result);
        }
コード例 #3
0
        public void TestPersonsRepositoryCRUDMethods()
        {
            bool CreateProfile;
            bool ReadProfile;
            bool UpdateProfile;
            bool DeleteProfile;

            var personsRepository = new PersonsRepository();

            var addProfileModel =
                new AddProfileModel
            {
                FirstName   = "test",
                LastName    = "test",
                Patronymic  = "test",
                PhoneNumber = "test"
            };
            var addedProfileId = personsRepository.AddProfile(addProfileModel);

            CreateProfile = addedProfileId > 0 ? true : false;

            var profile = personsRepository.GetProfile(addedProfileId);

            ReadProfile = !string.IsNullOrEmpty(profile?.FirstName) ? true : false;

            var updateProfileModel =
                new UpdateProfileModel
            {
                Id          = addedProfileId,
                FirstName   = "testUpdated",
                LastName    = "testUpdated",
                Patronymic  = "testUpdated",
                PhoneNumber = "testUpdated"
            };

            UpdateProfile = personsRepository.UpdateProfile(updateProfileModel);

            personsRepository.DeleteProfile(addedProfileId);
            DeleteProfile = true;

            Assert.IsTrue(CreateProfile && ReadProfile && UpdateProfile && DeleteProfile);
        }
コード例 #4
0
        public void TestGetProfilesMethod()
        {
            bool Success;

            var personsRepository = new PersonsRepository();

            var addProfileModel =
                new AddProfileModel
            {
                FirstName   = "test",
                LastName    = "test",
                Patronymic  = "test",
                PhoneNumber = "test"
            };
            var addedProfileId = personsRepository.AddProfile(addProfileModel);
            var profilesList   = personsRepository.GetProfiles();

            Success = profilesList.Count > 0 ? true : false;
            personsRepository.DeleteProfile(addedProfileId);

            Assert.IsTrue(Success);
        }
コード例 #5
0
        public async Task <IActionResult> Create(int id)
        {
            var user = await _userManager.FindByNameAsync(User.Identity.Name);

            var model = new AddProfileModel();

            {
                var teams = _db.Teams.OrderBy(c => c.TeamName)
                            .Select(x => new { Id = x.Id, Value = x.TeamName });
                model.TeamList = new SelectList(teams, "Id", "Value");

                var countries = _db.Countries.OrderBy(c => c.Name)
                                .Select(x => new { Id = x.Id, Value = x.Name });

                model.CountryList = new SelectList(countries, "Id", "Value");


                model.UserId = user.Id;
            }


            return(View(model));
        }