public async Task <IActionResult> Insert(UsuarioInsertarViewModel model)
        {
            if (ModelState.IsValid && this.valid(model))
            {
                var user = new Usuario()
                {
                    UsuCorreo   = model.UsuCorreo,
                    UsuNombre1  = model.UsuNombre1,
                    UsuNombre2  = model.UsuNombre2,
                    UsuPaterno  = model.UsuPaterno,
                    UsuMaterno  = model.UsuMaterno,
                    UsuTelefono = model.UsuTelefono,
                    UsuEstatus  = 1,
                    UsuEmpId    = model.UsuEmpId,
                    UsuRol      = model.UsuRol
                };
                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await _emailSender.SendSignupNotification(user, model.Password, Url.Action("Login", "Account", null, Request.Scheme));

                    this.ShowSuccess("El usuario se ha agregado correctamente");
                    return(this.RedirectAjax(Url.Action("Index")));
                }
                else
                {
                    ModelState.AddModelError("UsuCorreo", "Ha ocurrido un error y no se puede completar la operación.");
                }
            }
            ViewBag.Empresas = new SelectList(_context.Empresas.Filter(User), "EmpId", "EmpRazonSocial");
            return(PartialView("_InsertPartial", model));
        }
        public IActionResult Insert()
        {
            var model = new UsuarioInsertarViewModel {
            };

            ViewBag.Empresas = new SelectList(_context.Empresas.Filter(User), "EmpId", "EmpRazonSocial");
            return(PartialView("_InsertPartial", model));
        }
        private bool valid(UsuarioInsertarViewModel model)
        {
            bool status = true;

            if (_context.Usuarios.Count(e => e.UsuCorreo == model.UsuCorreo) > 0)
            {
                ModelState.AddModelError("Email", "Ya existe otro usuario con el email especificado");
                status = false;
            }
            if (model.UsuRol != "admin" && string.IsNullOrEmpty(model.UsuEmpId))
            {
                ModelState.AddModelError("UsuEmpId", "Este campo es obligatorio");
                status = false;
            }
            return(status);
        }