Example #1
0
        public async Task <IActionResult> PutUserPersonalDetail(int id, [FromForm] UserPersonalDetailUpsert obj)
        {
            UserPersonalDetail userPersonalDetail = await _context.UserPersonalDetail.FirstOrDefaultAsync(x => x.UserID == obj.UserID);

            userPersonalDetail = viewModel.Update(userPersonalDetail, obj);

            _context.Entry(userPersonalDetail).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!UserPersonalDetailExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Example #2
0
 //Personal Details
 public async Task<IActionResult> UpdatePersonalDetail(int Id)
 {
     var user = await _userManager.GetCurrentUser(HttpContext);
     ViewBag.CountryList = new SelectList(GetCountryList(), "CountryId", "CountryName");
     UserPersonalViewModel vm = new UserPersonalViewModel();
     if (Id > 0)
     {
         UserPersonalDetail personalDetail = _context.UserPersonalDetail.SingleOrDefault(x => x.UserPersonalDetailId == Id);
         vm.UserPersonalDetailID = personalDetail.UserPersonalDetailId;
         vm.DOB = personalDetail.DOB;
         vm.FirstName = personalDetail.FirstName;
         vm.LastName = personalDetail.LastName;
         vm.PhoneNo = user.PhoneNumber;
         vm.Email = user.Email;
         vm.CityId = personalDetail.CityId;
         if (personalDetail.Gender == Gender.Male)
         {
             vm.Gender = Gender.Male;
         }
         else
         {
             vm.Gender = Gender.Female;
         }
     }
     else
     {
         return NotFound();
     }
     return PartialView(vm);
 }
        public ActionResult DeleteConfirmed(int id)
        {
            UserPersonalDetail userPersonalDetail = db.UserPersonalDetails.Find(id);

            db.UserPersonalDetails.Remove(userPersonalDetail);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #4
0
        public async Task <IActionResult> ExternalLoginConfirmation(ExternalLoginViewModel model, string returnUrl = null)
        {
            if (ModelState.IsValid)
            {
                // Get the information about the user from the external login provider
                var info = await _signInManager.GetExternalLoginInfoAsync();

                if (info == null)
                {
                    throw new ApplicationException("Error loading external login information during confirmation.");
                }
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await _userManager.CreateAsync(user);

                UserPersonalDetail userPersonal = new UserPersonalDetail();
                userPersonal.IsDOBPublic = model.DOBVisibility;
                userPersonal.DOB         = model.DOB;
                if (model.Gender == 0)
                {
                    userPersonal.Gender = Gender.Male;
                }
                else
                {
                    userPersonal.Gender = Gender.Female;
                }
                userPersonal.CityId       = 4;
                userPersonal.UserId       = user.Id;
                userPersonal.ProfileImage = model.Picture;
                userPersonal.FirstName    = model.FirstName;
                userPersonal.LastName     = model.LastName;
                _context.UserPersonalDetail.Add(userPersonal);
                await _context.SaveChangesAsync();

                if (result.Succeeded)
                {
                    result = await _userManager.AddLoginAsync(user, info);

                    if (result.Succeeded)
                    {
                        await _signInManager.SignInAsync(user, isPersistent : false);

                        _logger.LogInformation("User created an account using {Name} provider.", info.LoginProvider);
                        await _userManager.ConfirmEmailAsync(await _userManager.FindByEmailAsync(user.Email), await _userManager.GenerateEmailConfirmationTokenAsync(user));

                        //return RedirectToLocal(returnUrl);
                        HttpContext.Session.SetString("Name", userPersonal.FirstName);

                        return(RedirectToAction("Index", "User"));
                    }
                }
                AddErrors(result);
            }

            ViewData["ReturnUrl"] = returnUrl;
            return(View(nameof(ExternalLogin), model));
        }
Example #5
0
        public async Task <IActionResult> CompleteProfile(CompleteProfileVM vm)
        {
            if (ModelState.IsValid)
            {
                var user = await _userManager.GetCurrentUser(HttpContext);

                var file = vm.ProfileImage;
                UserPersonalDetail userPersonal = new UserPersonalDetail();
                if (file != null)
                {
                    if (file.Length > 0)
                    {
                        if ((file.Length / 1000) > 5000)
                        {
                            ViewBag.ProfilePic = "Image can't exceed 5Mb size";
                            return(View());
                        }
                        string path      = Path.Combine(_hostingEnvironment.WebRootPath, "images/users");
                        string extension = Path.GetExtension(file.FileName).Substring(1);
                        if (!(extension.ToLower() == "png" || extension.ToLower() == "jpg" || extension.ToLower() == "jpeg"))
                        {
                            ViewBag.ProfilePic = "Only png, jpg & jpeg are allowed";
                            return(View());
                        }
                        string fileNam = user.Id.Substring(24) + "p." + extension;
                        using (var vs = new FileStream(Path.Combine(path, fileNam), FileMode.CreateNew))
                        {
                            await file.CopyToAsync(vs);
                        }
                        using (var img = SixLabors.ImageSharp.Image.Load(Path.Combine(path, fileNam)))
                        {
                            userPersonal.ProfileImage = $"/images/users/{fileNam}";
                        }
                    }
                }
                userPersonal.CityId      = vm.CityId;
                userPersonal.FirstName   = vm.FirstName;
                userPersonal.LastName    = vm.LastName;
                userPersonal.IsDOBPublic = vm.DOBVisibility;
                userPersonal.DOB         = vm.DOB;
                if (vm.Gender == 0)
                {
                    userPersonal.Gender = Gender.Male;
                }
                else
                {
                    userPersonal.Gender = Gender.Female;
                }
                userPersonal.UserId = user.Id;
                _context.UserPersonalDetail.Add(userPersonal);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index", "User"));
            }
            ViewBag.CountryList = new SelectList(GetCountryList(), "CountryId", "CountryName");
            return(View("CompleteProfile"));
        }
Example #6
0
        public async Task <ActionResult <UserPersonalDetail> > PostUserPersonalDetail([FromForm] UserPersonalDetailUpsert obj)
        {
            UserPersonalDetail userPersonalDetail = viewModel.Add(obj);

            _context.UserPersonalDetail.Add(userPersonalDetail);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetUserPersonalDetail", new { id = userPersonalDetail.ID }, userPersonalDetail));
        }
 public ActionResult Edit([Bind(Include = "Id,FirstName,MiddleName,LastName,Gender,DateOfBirth,FatherOrSpouseName,MotherName,Address,City,State,PinCode,MaritalStatus,CitizenShip,ResidentialStatus,Occupation,IsActive")] UserPersonalDetail userPersonalDetail)
 {
     if (ModelState.IsValid)
     {
         db.Entry(userPersonalDetail).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(userPersonalDetail));
 }
        public UserPersonalDetail Update(UserPersonalDetail userPersonalDetail, UserPersonalDetailUpsert obj)
        {
            string[] permittedExtensions = { ".jpg", ".jpeg", ".png", ".pdf" };
            userPersonalDetail.MaritalStatus       = obj.MaritalStatus;
            userPersonalDetail.Address             = obj.Address;
            userPersonalDetail.MobileNumber        = obj.MobileNumber;
            userPersonalDetail.Instagram           = obj.Instagram;
            userPersonalDetail.Twitter             = obj.Twitter;
            userPersonalDetail.Facebook            = obj.Facebook;
            userPersonalDetail.USAddress           = obj.USAddress;
            userPersonalDetail.Title               = obj.Title;
            userPersonalDetail.Gender              = obj.Gender;
            userPersonalDetail.FirstLanguage       = obj.FirstLanguage;
            userPersonalDetail.Nationality         = obj.Nationality;
            userPersonalDetail.DOB                 = obj.DOB;
            userPersonalDetail.IdentificationDocNo = obj.IdentificationDocNo;
            userPersonalDetail.TownCity            = obj.TownCity;
            userPersonalDetail.StateCountry        = obj.StateCountry;
            userPersonalDetail.ZipPostalCode       = obj.ZipPostalCode;
            userPersonalDetail.TelephoneNumber     = obj.TelephoneNumber;
            userPersonalDetail.OccupationSector    = obj.OccupationSector;
            userPersonalDetail.OccupationLevel     = obj.OccupationLevel;
            if (obj.IdentificationDoc != null)
            {
                var ext = Path.GetExtension(obj.IdentificationDoc.FileName);
                if (permittedExtensions.Contains(ext))
                {
                    ImageHelper.DeleteImage(_hostEnvironment, @"Uploads\UserPersonalDetail\IdentificationDoc", userPersonalDetail.IdentificationDoc.Replace("/Uploads/UserPersonalDetail/IdentificationDoc/", ""));
                    userPersonalDetail.IdentificationDoc = ImageHelper.UploadImageFile(_hostEnvironment, "wwwroot/Uploads/UserPersonalDetail/IdentificationDoc", obj.IdentificationDoc);
                }
            }
            if (obj.CivilIDFront != null)
            {
                var ext = Path.GetExtension(obj.CivilIDFront.FileName);
                if (permittedExtensions.Contains(ext))
                {
                    ImageHelper.DeleteImage(_hostEnvironment, @"Uploads\UserPersonalDetail\CivilIDFront", userPersonalDetail.CivilIDFront.Replace("/Uploads/UserPersonalDetail/CivilIDFront/", ""));
                    userPersonalDetail.CivilIDFront = ImageHelper.UploadImageFile(_hostEnvironment, "wwwroot/Uploads/UserPersonalDetail/CivilIDFront", obj.CivilIDFront);
                }
            }
            if (obj.CivilIDBack != null)
            {
                var ext = Path.GetExtension(obj.CivilIDBack.FileName);
                if (permittedExtensions.Contains(ext))
                {
                    ImageHelper.DeleteImage(_hostEnvironment, @"Uploads\UserPersonalDetail\CivilIDBack", userPersonalDetail.CivilIDBack.Replace("/Uploads/UserPersonalDetail/CivilIDBack/", ""));
                    userPersonalDetail.CivilIDBack = ImageHelper.UploadImageFile(_hostEnvironment, "wwwroot/Uploads/UserPersonalDetail/CivilIDBack", obj.CivilIDBack);
                }
            }

            return(userPersonalDetail);
        }
        // GET: PersonalDetails/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UserPersonalDetail userPersonalDetail = db.UserPersonalDetails.Find(id);

            if (userPersonalDetail == null)
            {
                return(HttpNotFound());
            }
            return(View(userPersonalDetail));
        }
Example #10
0
        public async Task Initialise()
        {
            var accesstoken = Settings.AccessToken;

            if (!string.IsNullOrEmpty(accesstoken))
            {
                var UserPersonalDetailArray = await _apiServices.GetUserPersonalDetailAsync(accesstoken);

                UserPersonalDetail = UserPersonalDetailArray[5];
                UserInfo           = await _apiServices.GetUserInfoAsync(accesstoken);

                //UserPersonalDetail = await _apiServices.GetUserPersonalDetailAsync(accesstoken);
            }
        }
 public void Delete(UserPersonalDetail userPersonalDetail)
 {
     if (!string.IsNullOrEmpty(userPersonalDetail.IdentificationDoc))
     {
         ImageHelper.DeleteImage(_hostEnvironment, @"Uploads\UserPersonalDetail\IdentificationDoc", userPersonalDetail.IdentificationDoc.Replace("/Uploads/UserPersonalDetail/IdentificationDoc/", ""));
     }
     if (!string.IsNullOrEmpty(userPersonalDetail.CivilIDFront))
     {
         ImageHelper.DeleteImage(_hostEnvironment, @"Uploads\UserPersonalDetail\CivilIDFront", userPersonalDetail.CivilIDFront.Replace("/Uploads/UserPersonalDetail/CivilIDFront/", ""));
     }
     if (!string.IsNullOrEmpty(userPersonalDetail.CivilIDBack))
     {
         ImageHelper.DeleteImage(_hostEnvironment, @"Uploads\UserPersonalDetail\CivilIDBack", userPersonalDetail.CivilIDBack.Replace("/Uploads/UserPersonalDetail/CivilIDBack/", ""));
     }
 }
        public UserPersonalDetail Add(UserPersonalDetailUpsert obj)
        {
            string[]           permittedExtensions = { ".jpg", ".jpeg", ".png", ".pdf" };
            UserPersonalDetail userPersonalDetail  = new UserPersonalDetail();
            var ext1 = Path.GetExtension(obj.IdentificationDoc.FileName);
            var ext2 = Path.GetExtension(obj.CivilIDFront.FileName);
            var ext3 = Path.GetExtension(obj.CivilIDBack.FileName);

            if ((obj.IdentificationDoc != null && permittedExtensions.Contains(ext1)))
            {
                userPersonalDetail.IdentificationDoc = ImageHelper.UploadImageFile(_hostEnvironment, "wwwroot/Uploads/UserPersonalDetail/IdentificationDoc", obj.IdentificationDoc);
            }
            if ((obj.CivilIDFront != null && permittedExtensions.Contains(ext2)))
            {
                userPersonalDetail.CivilIDFront = ImageHelper.UploadImageFile(_hostEnvironment, "wwwroot/Uploads/UserPersonalDetail/CivilIDFront", obj.CivilIDFront);
            }
            if ((obj.CivilIDBack != null && permittedExtensions.Contains(ext3)))
            {
                userPersonalDetail.CivilIDBack = ImageHelper.UploadImageFile(_hostEnvironment, "wwwroot/Uploads/UserPersonalDetail/CivilIDBack", obj.CivilIDBack);
            }

            userPersonalDetail.UserID              = obj.UserID;
            userPersonalDetail.MaritalStatus       = obj.MaritalStatus;
            userPersonalDetail.Address             = obj.Address;
            userPersonalDetail.MobileNumber        = obj.MobileNumber;
            userPersonalDetail.Instagram           = obj.Instagram;
            userPersonalDetail.Twitter             = obj.Twitter;
            userPersonalDetail.Facebook            = obj.Facebook;
            userPersonalDetail.USAddress           = obj.USAddress;
            userPersonalDetail.Title               = obj.Title;
            userPersonalDetail.Gender              = obj.Gender;
            userPersonalDetail.FirstLanguage       = obj.FirstLanguage;
            userPersonalDetail.Nationality         = obj.Nationality;
            userPersonalDetail.DOB                 = obj.DOB;
            userPersonalDetail.IdentificationDocNo = obj.IdentificationDocNo;
            userPersonalDetail.TownCity            = obj.TownCity;
            userPersonalDetail.StateCountry        = obj.StateCountry;
            userPersonalDetail.ZipPostalCode       = obj.ZipPostalCode;
            userPersonalDetail.TelephoneNumber     = obj.TelephoneNumber;
            userPersonalDetail.OccupationSector    = obj.OccupationSector;
            userPersonalDetail.OccupationLevel     = obj.OccupationLevel;
            return(userPersonalDetail);
        }
Example #13
0
        // PUT api/UserDetail/{id}
        public async Task <bool> PutUserDetailAsync(int id, UserPersonalDetail userPersonalDetail)
        {
            //var id = 0;

            var client = new HttpClient();

            var json = JsonConvert.SerializeObject(userPersonalDetail);

            var accessToken = Settings.AccessToken;

            HttpContent httpContent = new StringContent(json);

            httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");

            client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue(
                "Bearer", accessToken);

            var result = await client.PutAsync("https://rsmswebapi.azurewebsites.net/api/UserDetail/" + id, httpContent);

            return(result.IsSuccessStatusCode);
        }