Beispiel #1
0
        // GET: Users/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ViewModelUser modelUser = new ViewModelUser();
            User          user      = db.Users.Find(id);

            modelUser.UserID       = user.UserID;
            modelUser.SocialID     = user.SocialID;
            modelUser.SocialType   = user.SocialType;
            modelUser.DeviceToken  = user.DeviceToken;
            modelUser.DeviceType   = user.DeviceType;
            modelUser.RecordStatus = user.RecordStatus;
            modelUser.CreatedDate  = user.CreatedDate;
            modelUser.FirstName    = user.FirstName;
            modelUser.LastName     = user.LastName;
            modelUser.UserName     = user.UserName;
            modelUser.CreatedDate  = user.CreatedDate;
            if (!string.IsNullOrEmpty(user.Password))
            {
                modelUser.Password = AesCryptography.Decrypt(user.Password);
            }
            modelUser.Email = user.Email;
            string _SiteURL = WebConfigurationManager.AppSettings["SiteImgURL"];

            modelUser.ImageURL = user.ImageURL;
            if (user == null)
            {
                return(HttpNotFound());
            }
            return(View(modelUser));
        }
Beispiel #2
0
        public ActionResult Create(ViewModelUser ViewUser)
        {
            User user = new User();

            if (ModelState.IsValid)
            {
                user.FirstName = ViewUser.FirstName;
                user.LastName  = ViewUser.LastName;
                user.UserName  = ViewUser.UserName;
                if (!string.IsNullOrEmpty(ViewUser.Password))
                {
                    user.Password = AesCryptography.Encrypt(ViewUser.Password);
                }
                user.Email = ViewUser.Email;
                string _SiteURL = WebConfigurationManager.AppSettings["SiteImgURL"];
                user.ImageURL = _SiteURL + "/ProfileImage/" + ViewUser.ImageURL_data.FileName;
                var path = Path.Combine(Server.MapPath("~/Content/Upload/ProfileImage"), ViewUser.ImageURL_data.FileName);
                ViewUser.ImageURL_data.SaveAs(path);
                user.RecordStatus = "Active";
                user.CreatedDate  = DateTime.Now;
                db.Users.Add(user);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(user));
        }
Beispiel #3
0
        public static void Display(ViewModelUser user)
        {
            var config = new MapperConfiguration(cfg => cfg.CreateMap <ViewModelUser, User>());
            var mapper = new Mapper(config);

            UserRepo.AddUser(mapper.Map <User>(user));
        }
Beispiel #4
0
        public ActionResult Index(string id)
        {
            ViewData["Role"] = id;
            List <ViewModelUser> results = new List <ViewModelUser>();

            using (IcasieEntities entity = new IcasieEntities())
            {
                var users = entity.Users.Where(c => c.Role == id).ToList();
                foreach (var item in users)
                {
                    ViewModelUser result = new ViewModelUser();
                    result.UserId        = item.UserId;
                    result.Email         = item.Email;
                    result.Password      = item.Password;
                    result.Salt          = item.Salt;
                    result.Role          = item.Role;
                    result.FirstName     = item.FirstName;
                    result.LastName      = item.LastName;
                    result.Gender        = item.Gender;
                    result.StreetAddress = item.StreetAddress;
                    result.City          = item.City;
                    result.State         = item.State;
                    result.Country       = item.Country;
                    result.Institution   = item.Institution;
                    result.PhoneNumber   = item.PhoneNumber;

                    results.Add(result);
                }
            }
            return(View(results));
        }
        // GET: Users/Details/5
        public ViewResult Details(int id)
        {
            var user = _unitOfWork.UserRepository.GetUserById(id);

            ViewModelUser viewModelUser = new ViewModelUser
            {
                Id        = user.Id,
                FirstName = user.FirstName,
                LastName  = user.LastName,
                UserName  = user.UserName,
                RoleId    = user.RoleId,
                Role      = new ViewModelRole
                {
                    Name = user.Role.Name
                },
                UserAddresses = user.UserAddresses.Select(ua => new ViewModelUserAddresses
                {
                    UserId    = ua.UserId,
                    AddressId = ua.AddressId,
                    Address   = new ViewModelAddress
                    {
                        AddressStreetAndNumber = ua.Address.AddressStreetAndNumber
                    }
                }).ToList()
            };

            return(View(viewModelUser));
        }
Beispiel #6
0
        /// <summary>
        /// 根据条件获取所有菜单
        /// </summary>
        /// <param name="request">请求条件</param>
        /// <returns></returns>
        public EasyUIGrid GetAllUsers(EasyUIGridRequest request)
        {
            int total = 0;

            return(new EasyUIGrid()
            {
                rows = ViewModelUser.ToListViewModel(GetAllUsers(request, ref total)),
                total = total
            });
        }
Beispiel #7
0
        public async Task <IActionResult> Authenticate(ViewModelUser userModel)
        {
            var user = await _user.Authenticate(userModel.username, userModel.pw);

            if (user == null)
            {
                return(BadRequest(new { message = "Username or password is incorrect" }));
            }

            return(Ok());
        }
        public async Task <ActionResult <ViewModelResponse> > UserInfo(string id)
        {
            try
            {
                var user = await _userManager.FindByIdAsync(id);

                if (user != null)
                {
                    var    httpClient = new WebClient();
                    byte[] bytes;
                    try
                    {
                        bytes = await httpClient.DownloadDataTaskAsync(user.Picture);
                    }
                    catch (TaskCanceledException)
                    {
                        System.Console.WriteLine("Task Canceled!");
                        bytes = null;
                    }
                    catch (Exception e)
                    {
                        bytes = null;
                    }

                    ViewModelUser model = new ViewModelUser()
                    {
                        Id         = new Guid(user.Id),
                        Name       = user.Name,
                        LastName   = user.LastName,
                        UserName   = user.UserName,
                        Email      = user.Email,
                        Country    = user.Country,
                        ImageBytes = bytes,
                        Picture    = user.Picture
                    };

                    return(Json(new ViewModelResponse()
                    {
                        Error = false, Response = "Datos obtenidos satisfactoriamente.", User = model
                    }));
                }
                return(Json(new ViewModelResponse()
                {
                    Error = true, Response = "Usuario no encontrado."
                }));
            }
            catch (Exception e)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, new ViewModelResponse()
                {
                    Error = true, Response = String.Format("Ocurrio un error al obtener la informacion del usuario, intenta nueva mente.{0}", e.Message)
                }));
            }
        }
 public ActionResult Login(ViewModelUser user)
 {
     if (_IUserService.CheckLogin(user.Email, user.Pass))
     {
         return(RedirectToAction("Dashboard"));
     }
     else
     {
         return(View("Index"));
     }
 }
Beispiel #10
0
 public ActionResult Login(ViewModelUser user)
 {
     if (_IUserService.CheckLogin(user.Email, user.Pass))
     {
         FormsAuthentication.SetAuthCookie(user.Email, false);
         return(RedirectToAction("Dashboard"));
     }
     else
     {
         return(View("Index"));
     }
 }
Beispiel #11
0
        /// <summary> Конструктор </summary>
        public ViewUser()
        {
            InitializeComponent();

            _viewModelUser = new ViewModelUser();

            _modelUser = _viewModelUser.CurrentModelUser;

            DataContext = _viewModelUser;

            // не перересовывается панель с статусом пользователя по этоум приходится руками сворачивать панель баланса
            StackPanelBalance.Visibility = _modelUser.HasBalance ? Visibility.Visible : Visibility.Collapsed;
        }
Beispiel #12
0
        public async Task <IActionResult> Get(string userName)
        {
            var entiy = await UserBLL.GetEntiyAsync <User>(u => u.UserName.Equals(userName));

            var user = new ViewModelUser
            {
                Phone        = entiy.Phone,
                UserName     = entiy.UserName,
                FullName     = entiy.FullName,
                SchoolNumber = entiy.SchoolNumber,
                UserPwd      = entiy.UserPwd,
            };

            //用户名 / 姓名 / 学号 / 手机号
            return(new JsonResult(user));
        }
Beispiel #13
0
        public ActionResult Register(ViewModelUser model, bool captchaValid)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            string randomPassword = Icasie.Helper.Helper.GenerateRandomGuidPassword().Substring(0, 10);

            var    random   = new Random();
            string salt     = Icasie.Helper.Helper.CreateSalt(random.Next(10, 100));
            string password = Icasie.Helper.Helper.CreatePasswordHash(randomPassword, salt);

            using (IcasieEntities entity = new IcasieEntities())
            {
                if (entity.Users.Any(c => c.Email == model.Email))
                {
                    ViewData["message"] = "User already exist";
                    return(View(model));
                }
                Icasie.Repositories.User user = new Icasie.Repositories.User();
                user.Email         = model.Email;
                user.City          = model.City;
                user.Country       = model.Country;
                user.FirstName     = model.FirstName;
                user.LastName      = model.LastName;
                user.Password      = password;
                user.PhoneNumber   = model.PhoneNumber;
                user.Role          = model.Role;
                user.Salt          = salt;
                user.State         = model.State;
                user.StreetAddress = model.StreetAddress;
                user.Gender        = model.Gender;
                user.Institution   = model.Institution;

                entity.Users.Add(user);
                entity.SaveChanges();

                System.Threading.Tasks.Task.Run(() => EmailHelper.SendEmailNewUser(model.Email, model.FirstName + " " + model.LastName, randomPassword, ConfigurationManager.AppSettings["SiteName"]));
            }

            return(View("RegisterSuccess"));
        }
        public async Task <string> Login([FromBody] ViewModelUser user)
        {
            //验证用户名和密码
            var entiy = await AccountBLL.GetEntiyAsync <User>(u => u.UserName.Equals(user.UserName) && u.UserPwd.Equals(user.UserPwd));

            if (entiy == null)
            {
                //return new JsonResult(new ResultModel<string> { })
                return("error");
            }
            // push the user’s name into a claim, so we can identify the user later on.
            var claims = new[]
            {
                new Claim(ClaimTypes.Name, user.UserName)
            };
            //sign the token using a secret key.This secret will be shared between your API and anything that needs to check that the token is legit.
            var key   = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["SecurityKey"]));
            var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
            //.NET Core’s JwtSecurityToken class takes on the heavy lifting and actually creates the token.

            /**
             * Claims (Payload)
             *  Claims 部分包含了一些跟这个 token 有关的重要信息。 JWT 标准规定了一些字段,下面节选一些字段:
             *
             *  iss: The issuer of the token,token 是给谁的  发送者
             *  audience: 接收的
             *  sub: The subject of the token,token 主题
             *  exp: Expiration Time。 token 过期时间,Unix 时间戳格式
             *  iat: Issued At。 token 创建时间, Unix 时间戳格式
             *  jti: JWT ID。针对当前 token 的唯一标识
             *  除了规定的字段外,可以包含其他任何 JSON 兼容的字段。
             * */
            var token = new JwtSecurityToken(
                issuer: "jwttest",
                audience: "jwttest",
                claims: claims,
                expires: DateTime.Now.AddDays(10),
                signingCredentials: creds);
            var result = new JwtSecurityTokenHandler().WriteToken(token);

            return(result);
        }
        /// <summary>
        /// 注册的action
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public async Task <IActionResult> Post([FromBody] ViewModelUser user)
        {
            var result = false;
            var entiy  = await AccountBLL.GetEntiyAsync <User>(u => u.UserName.Equals(user.UserName));

            if (entiy == null)
            {
                User userEntiy = new User
                {
                    LastEitDateTime = DateTime.Now,
                    FullName        = user.FullName,
                    Phone           = user.Phone,
                    SchoolNumber    = user.SchoolNumber,
                    UserName        = user.UserName,
                    UserPwd         = user.UserPwd,
                };
                result = await AccountBLL.AddAsync(userEntiy);
            }
            return(result ? Content("ok") : Content("error"));
        }
        public async Task <IActionResult> Edit(long id, [Bind("IdUsuario,Nombre,UserName,IdRuta,Activo")] ViewModelUser usuario)
        {
            if (id != usuario.IdUsuario)
            {
                return(NotFound());
            }

            var verifyUser = _userHelper.FindByUserName(usuario.UserName);

            if (verifyUser != null)
            {
                if (verifyUser.UserNameLowered != usuario.UserName.ToLower())
                {
                    //si el usuario existe, añande un error al e9stado del modelo
                    ModelState.AddModelError("UserName", "El Usuario ya existe");
                }
            }


            if (ModelState.IsValid)
            {
                try
                {
                    await _userHelper.Update(usuario);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!UsuarioExists(usuario.IdUsuario))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdRuta"] = new SelectList(_context.Rutas, "IdRuta", "IdRuta", usuario.IdRuta);
            return(View(usuario));
        }
Beispiel #17
0
 public ActionResult Edit(ViewModelUser ViewUser)
 {
     if (ModelState.IsValid)
     {
         User user = new User();
         user.FirstName = ViewUser.FirstName;
         user.LastName  = ViewUser.LastName;
         user.UserName  = ViewUser.UserName;
         if (!string.IsNullOrEmpty(ViewUser.Password))
         {
             user.Password = AesCryptography.Encrypt(ViewUser.Password);
         }
         user.Email = ViewUser.Email;
         string _SiteURL = WebConfigurationManager.AppSettings["SiteImgURL"];
         if (ViewUser.ImageURL_data != null)
         {
             user.ImageURL = _SiteURL + "/ProfileImage/" + ViewUser.ImageURL_data.FileName;
             var path = Path.Combine(Server.MapPath("~/Content/Upload/ProfileImage"), ViewUser.ImageURL_data.FileName);
             ViewUser.ImageURL_data.SaveAs(path);
         }
         else
         {
             user.ImageURL = _SiteURL + "/ProfileImage/oposee-profile.png";
         }
         user.CreatedDate = ViewUser.CreatedDate;
         //user.ImageURL = ViewUser.ImageURL;
         user.UserID          = ViewUser.UserID;
         user.DeviceType      = ViewUser.DeviceType;
         user.DeviceToken     = ViewUser.DeviceToken;
         user.SocialID        = ViewUser.SocialID;
         user.SocialType      = ViewUser.SocialType;
         user.RecordStatus    = "Active";
         user.ModifiedDate    = DateTime.Now;
         db.Entry(user).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(ViewUser));
 }
        public async Task <IActionResult> ExistUser(string email)
        {
            try
            {
                var user = _dbContext.AspNetUsers.FirstOrDefault(x => x.Email.Equals(email));
                // var user = await _userManager.FindByEmailAsync(email);

                if (user != null)
                {
                    ViewModelUser model = new ViewModelUser()
                    {
                        Id       = new Guid(user.Id),
                        Name     = user.Name,
                        LastName = user.LastName,
                        UserName = user.UserName,
                        Email    = user.Email,
                        Country  = user.Country,
                        Picture  = user.Picture
                    };

                    return(Json(new ViewModelResponse()
                    {
                        Error = false, Response = "Datos obtenidos satisfactoriamente.", User = model
                    }));
                }

                return(Json(new ViewModelResponse()
                {
                    Error = true, Response = "Usuario no encontrado."
                }));
            }
            catch (Exception e)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, new ViewModelResponse()
                {
                    Error = true, Response = String.Format("Ocurrio un error al obtener la informacion del usuario, intenta nueva mente.{0}", e.Message)
                }));
            }
        }
        // GET: Users/Edit/5
        public IActionResult Edit(int id)
        {
            var user = _unitOfWork.UserRepository.GetUserById(id);

            if (user == null)
            {
                return(NotFound());
            }
            ViewModelUser viewModelUser = new ViewModelUser
            {
                FirstName = user.FirstName,
                LastName  = user.LastName,
                UserName  = user.UserName,
                //Role = user.Role(r => new ViewModelRole
                //{
                //    Id = r.Id,
                //    Name = r.Name
                //})
            };

            //ViewData["RoleId"] = new SelectList(_unitOfWork.RoleRepository.Get(), "Id", "Name");
            return(View(viewModelUser));
        }
Beispiel #20
0
        public ActionResult Profile(int id)
        {
            ViewModelUser result = new ViewModelUser();

            using (IcasieEntities entity = new IcasieEntities())
            {
                var user = entity.Users.SingleOrDefault(c => c.UserId == id);
                result.UserId        = user.UserId;
                result.Email         = user.Email;
                result.Password      = user.Password;
                result.Salt          = user.Salt;
                result.Role          = user.Role;
                result.FirstName     = user.FirstName;
                result.LastName      = user.LastName;
                result.Gender        = user.Gender;
                result.StreetAddress = user.StreetAddress;
                result.City          = user.City;
                result.State         = user.State;
                result.Country       = user.Country;
                result.Institution   = user.Institution;
                result.PhoneNumber   = user.PhoneNumber;
            }
            return(View(result));
        }
        public async Task <ActionResult <ViewModelResponse> > Login([FromBody] ViewModelLogin model)
        {
            try
            {
                var ldap = await ServiceLDAP.LoginAsync(model.UserName, model.Password);

                if (ldap)
                {
                    var us = await _userManager.FindByNameAsync(model.UserName);

                    if (us != null)
                    {
                        if (us.Verified)
                        {
                            var result = await _signInManager.PasswordSignInAsync(model.UserName, model.Password, false, false);

                            if (result.Succeeded)
                            {
                                var appUser = _userManager.Users.SingleOrDefault(u => u.UserName == model.UserName);
                                var token   = GenerateJwtToken(model.UserName, appUser);

                                var    httpClient = new WebClient();
                                byte[] bytes;
                                try
                                {
                                    bytes = await httpClient.DownloadDataTaskAsync(appUser.Picture);
                                }
                                catch (TaskCanceledException)
                                {
                                    System.Console.WriteLine("Task Canceled!");
                                    bytes = null;
                                }
                                catch (Exception e)
                                {
                                    bytes = null;
                                }

                                ViewModelUser user = new ViewModelUser()
                                {
                                    Id         = new Guid(appUser.Id),
                                    Name       = appUser.Name,
                                    LastName   = appUser.LastName,
                                    UserName   = appUser.UserName,
                                    Email      = appUser.Email,
                                    Country    = appUser.Country,
                                    ImageBytes = bytes,
                                    Picture    = appUser.Picture
                                };

                                return(Json(new ViewModelResponse()
                                {
                                    Error = false, Response = "Ha iniciado sesión satisfactoriamente", User = user, Token = token
                                }));
                            }
                            else
                            {
                                return(Json(new ViewModelResponse()
                                {
                                    Error = true, Response = "Valide sus credenciales."
                                }));
                            }
                        }
                        return(Json(new ViewModelResponse()
                        {
                            Error = true, Response = "Debe verificar primero su cuenta, revise su correo."
                        }));
                    }
                    return(Json(new ViewModelResponse()
                    {
                        Error = true, Response = "Valide sus credenciales. Usuario no encontrado"
                    }));
                }
                else
                {
                    return(Json(new ViewModelResponse()
                    {
                        Error = true, Response = "Valide sus credenciales. Usuario no encontrado"
                    }));
                }
            }
            catch (Exception e)
            {
                string error = String.Format("Ocurrion un error. Intente nuevamente. {0}", e.Message);
                return(StatusCode(StatusCodes.Status500InternalServerError, new ViewModelResponse {
                    Error = true, Response = error
                }));
            }
        }
        public async Task <ActionResult <ViewModelResponse> > Register([FromBody] ViewModelUser model)
        {
            try
            {
                var user = new ApplicationUser
                {
                    UserName   = model.UserName,
                    Name       = model.Name,
                    LastName   = model.LastName,
                    Email      = model.Email,
                    Country    = model.Country,
                    Picture    = model.Picture,
                    Verified   = true,
                    WonGames   = 0,
                    LostGames  = 0,
                    TotalGames = 0
                };

                if (!model.Password.Equals(model.ConfirmedPassword))
                {
                    return(Json(new ViewModelResponse()
                    {
                        Error = true, Response = "Las contraseñas no coinciden"
                    }));
                }

                //crear entry en organizacion hangeddraw, gid number user

                var result = _userManager.CreateAsync(user, model.Password);
                if (result.Result.Succeeded)
                {
                    var aLdap = await ServiceLDAP.RegisterAsync(user.UserName, model.Password, model.Name, model.LastName, model.Email);

                    if (aLdap)
                    {
                        //// enviar correo para verificar usuario registrado
                        //string email = model.Email;
                        //string subject = "Confirmación de registro en Hanged Draw";
                        //string url = Request.Scheme + "://" + Request.Host.Value + "/api/User/Verify";
                        //string link = String.Format("<a target=\"_blank\" href=\"{1}/{0}\"> link </a>", user.Id, url);
                        //string style = "style=\"color: red;\"";
                        //string styleP = "style=\"color: black;\"";

                        //string htmlString =
                        //                $@"<html>
                        //    <body>
                        //        <h2 {style}>Hanged Draw</h2>
                        //        <p {styleP} >por favor verifique su cuenta dando click en el siguiente {link} </p>
                        //        <br>
                        //    </body>
                        //</html>";


                        //bool a = await SendEmailAsync(email, subject, htmlString);
                        //if (a)
                        //    return Json(new ViewModelResponse() { Error = false, Response = "Usuario registrado satisfactoriamente." });
                        return(Json(new ViewModelResponse()
                        {
                            Error = false, Response = "Usuario registrado satisfactoriamente."
                        }));
                    }
                    else
                    {
                        return(Json(new ViewModelResponse()
                        {
                            Error = true, Response = "Ocurrio un error en ldap"
                        }));
                    }
                }

                string error = string.Empty;
                foreach (var e in result.Result.Errors)
                {
                    error += "{" + e.Code + "}-" + e.Description + Environment.NewLine;
                }

                return(Json(new ViewModelResponse()
                {
                    Error = true, Response = error
                }));
            }
            catch (Exception e)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, new ViewModelResponse()
                {
                    Error = true,
                    Response = String.Format("Ocurrio un error al intentar verificar el correo electrónico, intenta nueva mente. {0}", e.Message)
                }));
            }
        }
        public async Task <ActionResult <ViewModelResponse> > EditUser([FromBody] ViewModelUser model, string id)
        {
            try
            {
                var user = await _userManager.FindByIdAsync(id);

                if (user != null)
                {
                    //var oldUN = user.UserName;

                    if (!String.IsNullOrEmpty(model.UserName))
                    {
                        user.UserName = model.UserName;
                    }
                    if (!String.IsNullOrEmpty(model.Name))
                    {
                        user.Name = model.Name;
                    }
                    if (!String.IsNullOrEmpty(model.LastName))
                    {
                        user.LastName = model.LastName;
                    }
                    if (!String.IsNullOrEmpty(model.Email))
                    {
                        user.Email = model.Email;
                    }
                    if (!String.IsNullOrEmpty(model.Country))
                    {
                        user.Country = model.Country;
                    }
                    if (!String.IsNullOrEmpty(model.Picture))
                    {
                        user.Picture = model.Picture;
                    }

                    if (model.TotalGames != 0)
                    {
                        user.TotalGames = model.TotalGames;
                    }
                    if (model.WonGames != 0)
                    {
                        user.WonGames = model.WonGames;
                    }
                    if (model.LostGames != 0)
                    {
                        user.LostGames = model.LostGames;
                    }

                    //var ldapModify = ServiceLDAP.ModifyAsync(oldUN, user.UserName, model.Password)

                    var result = await _userManager.UpdateAsync(user);

                    if (result.Succeeded)
                    {
                        return(Json(new ViewModelResponse()
                        {
                            Error = false, Response = "Datos de usuario modificados exitosamente."
                        }));
                    }
                    else
                    {
                        string error = string.Empty;
                        foreach (var e in result.Errors)
                        {
                            error += "{" + e.Code + "}-" + e.Description + Environment.NewLine;
                        }
                        return(Json(new ViewModelResponse()
                        {
                            Error = true, Response = error
                        }));
                    }
                }
                return(Json(new ViewModelResponse()
                {
                    Error = true, Response = "El usuario no existe"
                }));
            }
            catch (Exception e)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, new ViewModelResponse()
                {
                    Error = true, Response = String.Format("Ocurrio un error al intentar verificar el correo electrónico, intenta nueva mente. {0}", e.Message)
                }));
            }
        }
        public IActionResult Edit(/*[Bind("Id,UserName,FirstName,LastName,Password,RoleId")]*/ ViewModelUser viewModelUser)
        {
            var userToEdit = _unitOfWork.UserRepository.GetUserById(viewModelUser.Id);

            userToEdit.UserName  = viewModelUser.UserName;
            userToEdit.FirstName = viewModelUser.FirstName;
            userToEdit.LastName  = viewModelUser.LastName;
            userToEdit.Password  = viewModelUser.Password;
            userToEdit.RoleId    = viewModelUser.RoleId;
            //userToEdit.Role = viewModelUser.Role;
            userToEdit.UserAddresses = viewModelUser.UserAddresses.Select(ua => new UserAddress
            {
                UserId    = ua.UserId,
                AddressId = ua.AddressId
            }).ToList();

            if (ModelState.IsValid)
            {
                _unitOfWork.UserRepository.Update(userToEdit);
                _unitOfWork.Save();

                return(RedirectToAction(nameof(Index)));
            }
            //ViewData["RoleId"] = new SelectList(_unitOfWork.RoleRepository.Get(), "Id", "Name");
            return(View(userToEdit));
        }
Beispiel #25
0
        // GET: Users/Create
        public ActionResult Create()
        {
            ViewModelUser ViewUser = new ViewModelUser();

            return(View(ViewUser));
        }
        public IActionResult Create(/*[Bind("Id,UserName,FirstName,LastName,Password,RoleId")]*/ ViewModelUser user)
        {
            var u = new User
            {
                FirstName = user.FirstName,
                LastName  = user.LastName,
                Password  = user.Password,
                RoleId    = user.RoleId,
                UserName  = user.UserName
            };

            foreach (int addid in user.SelectedAddressesId)
            {
                var address = _unitOfWork.AddressRepository.GetById(addid);

                var adduser = new UserAddress
                {
                    Address = address,
                    User    = u
                };

                u.UserAddresses.Add(adduser);
            }


            if (ModelState.IsValid)
            {
                _unitOfWork.UserRepository.Insert(u);
                _unitOfWork.Save();
                return(RedirectToAction(nameof(Index)));
            }

            return(View(u));
        }