public static UserMaster MapSingleUserToUserMaster(UserMasterView userMaster) { try { if (userMaster != null) { UserMaster l_mappedUser = new UserMaster() { Address = userMaster.Address, ContactNumber = userMaster.ContactNumber, CreateDate = userMaster.CreateDate, Email = userMaster.Email, FirstName = userMaster.FirstName, Gender = userMaster.Gender, Hobbies = string.Join(",", userMaster.Hobbies), LastName = userMaster.LastName, Password = userMaster.Password, PostCode = userMaster.PostCode, UpdateDate = userMaster.UpdateDate, UserId = userMaster.UserId, UserImages = MapMultipleImagesToImageMaster(userMaster.UserImages), CountryMaster = MapSingleCountryToCountryMaster(userMaster.CountryMaster), StateMaster = MapSingleStateToStateMaster(userMaster.StateMaster), CountryId = userMaster.CountryId, StateId = userMaster.StateId }; return(l_mappedUser); } return(null); } catch (Exception ex) { return(null); } }
public IActionResult UserInfo(UserMasterView user) { if (ModelState.IsValid) { if (user.CountryId > 0) { var l_country = _userRepository.GetCountryById(user.CountryId); if (l_country != null) { user.CountryMaster = Mapper.UserMapper.MapSingleCountryToCountryMasterView(l_country); } if (user.StateId > 0) { var l_state = _userRepository.GetStateById(user.StateId); if (l_state != null) { user.StateMaster = Mapper.UserMapper.MapSingleStateToStateMasterView(l_state); } } } user.Password = CommonFunction.Encrypt(user.Password); var l_Res = _userRepository.AddUpdateUserMaster(Mapper.UserMapper.MapSingleUserToUserMaster(user)); if (l_Res != null) { if (Request.Cookies["UserId"] == l_Res.UserId.ToString()) { Response.Cookies.Delete("UserName"); Response.Cookies.Append("UserName", l_Res.FirstName + " " + l_Res.LastName); } if (Request.Form.Files.Count > 0) { List <string> files = new List <string>(); foreach (var formFile in Request.Form.Files) { if (formFile.Length > 0) { //get path var l_projectRootPath = environment.WebRootPath; //var l_projectRootPath = environment.ContentRootPath; l_projectRootPath = l_projectRootPath + "\\Uploads\\" + l_Res.UserId.ToString() + "\\"; try { if (!System.IO.Directory.Exists(l_projectRootPath)) { System.IO.Directory.CreateDirectory(l_projectRootPath); } } catch (Exception ex) { ex.SetLog("Error while create directory : UserInfo() AccountController() : " + ex.Message, environment); } //var filePath = l_projectRootPath + formFile.FileName; var l_extension = Path.GetExtension(formFile.FileName); var l_FileName = Path.GetFileNameWithoutExtension(formFile.FileName); l_FileName = l_FileName + Guid.NewGuid().ToString() + l_extension; var filePath = l_projectRootPath + l_FileName; try { using (var stream = System.IO.File.Create(filePath)) { //Save file formFile.CopyTo(stream); //var l_filename = "\\Uploads\\" + l_Res.UserId.ToString() + "\\" + formFile.FileName; var l_filename = "\\Uploads\\" + l_Res.UserId.ToString() + "\\" + l_FileName; files.Add(l_filename); } } catch (Exception ex) { ex.SetLog("Error while save images to folder, UserInfo() AccountController() : " + ex.Message, environment); } } } //Get all old images var l_userOldImages = _userRepository.GetUserImagesByUserId(l_Res.UserId); //Delete all Old images from folder, so no garbage collection is there which takes space var l_FolderRootPath = environment.WebRootPath + "\\"; foreach (var l_OldImage in l_userOldImages) { try { if (System.IO.File.Exists(l_FolderRootPath + l_OldImage.FileName)) { System.IO.File.Delete(l_FolderRootPath + l_OldImage.FileName); } } catch (Exception ex) { ex.SetLog("Error while delete Image from folder , Userinfo(), AccountController() : " + ex.Message, environment); continue; } } //Delete All Old images from database and save latest uploaded images var l_res = _userRepository.DeleteAllImagesByUserId(l_Res.UserId); List <UserImages> l_Images = new List <UserImages>(); foreach (var l_strFile in files) { l_Images.Add(new UserImages() { FileName = l_strFile, UserId = l_Res.UserId }); ////We can save single images from here //_userRepository.SaveUserImage(new UserImages() //{ // FileName = l_strFile, // UserId = user.UserId //}); } //Save multiple images at time var l_respImages = _userRepository.SaveMultipleUserImages(l_Images); } #region Token generation and save to database, add cookie in browser //var l_token = GenerateJSONWebToken(l_Res); ////save token //_userRepository.AddUpdateTokenMaster(new TokenMaster() //{ // CreateDate = DateTime.Now, // Token = l_token, // UpdateDate = DateTime.Now, // UserId = l_Res.UserId //}); ////Add cookie in browser, also clear old cookie //Response.Cookies.Delete("AuthToken"); //Response.Cookies.Append("AuthToken", l_token); #endregion ////We can also manage auto login after user successfully sign up //return RedirectToAction("Login", new LoginModel() //{ // Email = l_Res.Email, // Password = l_Res.Password //}); return(RedirectToAction("Login")); } ViewBag.Countries = _userRepository.GetAllCountries(); //Repo call here } return(RedirectToAction("Index")); }