public ActionResult Crear(UsuarioProveedorViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            CargarPerfiles();
            try
            {
                _usuarioManager
                .CrearProveedor(
                    model.UserName,
                    model.Nombre,
                    model.Apellido,
                    model.Email,
                    model.Telefono, //TODO
                    null,           //TODO
                    true,
                    model.Perfil,
                    model.Password,
                    _commonManager.GetCuentaUsuarioAutenticado().Id);


                TempData["FlashSuccess"] = CommonMensajesResource.INFO_UsuarioProveedor_CreadoCorrectamente;
                return(RedirectToAction("Index"));
            }
            catch (BusinessException businessEx)
            {
                ModelState.AddModelError(string.Empty, businessEx.Message);
                return(View(model));
            }
            catch (Exception e)
            {
                var log = CommonManager.BuildMessageLog(
                    TipoMensaje.Error,
                    ControllerContext.Controller.ValueProvider.GetValue("controller").RawValue.ToString(),
                    ControllerContext.Controller.ValueProvider.GetValue("action").RawValue.ToString(),
                    e.ToString(), Request);

                CommonManager.WriteAppLog(log, TipoMensaje.Error);
                return(View(model));
            }
        }
        public ActionResult Editar(string id, UsuarioProveedorViewModel model)
        {
            var usuario = _usuarioManager.Find(id);

            if (usuario == null)
            {
                TempData["FlashError"] = CommonMensajesResource.ERROR_UsuarioProveedor_IdIncorrecto;
                return(RedirectToAction("Index"));
            }
            CargarPerfiles();
            try
            {
                _usuarioManager.Actualizar(
                    id,
                    model.Nombre,
                    model.Apellido,
                    model.Email,
                    model.Telefono, null,
                    model.Password);

                _usuarioManager.ActualizarPerfil(id, model.Perfil);

                TempData["FlashSuccess"] = CommonMensajesResource.INFO_UsuarioProveedor_ActualizadoCorrectamente;
                return(RedirectToAction("Index"));
            }
            catch (BusinessException businessEx)
            {
                ModelState.AddModelError(string.Empty, businessEx.Message);
                return(View(model));
            }
            catch (Exception e)
            {
                var log = CommonManager.BuildMessageLog(
                    TipoMensaje.Error,
                    ControllerContext.Controller.ValueProvider.GetValue("controller").RawValue.ToString(),
                    ControllerContext.Controller.ValueProvider.GetValue("action").RawValue.ToString(),
                    e.ToString(), Request);

                CommonManager.WriteAppLog(log, TipoMensaje.Error);
                return(View(model));
            }
        }
        public ActionResult Editar(string id)
        {
            var usuario = _usuarioManager.Find(id);

            if (usuario == null)
            {
                TempData["FlashError"] = CommonMensajesResource.ERROR_UsuarioProveedor_IdIncorrecto;
                return(RedirectToAction("Index"));
            }

            CargarPerfiles();

            var usuarioProveedorViewModel = new UsuarioProveedorViewModel()
            {
                UserName = usuario.UserName,
                Nombre   = usuario.Nombre,
                Apellido = usuario.Apellido,
                Email    = usuario.Email,
                Telefono = usuario.PhoneNumber,
                Perfil   = usuario.PerfilId
            };

            return(View(usuarioProveedorViewModel));
        }