public IHttpActionResult COUProyect(UsuarioEdit model) { DB = new SlabEntities(); int Id_Usuario; int Id_Rol; TokenGenerator TG = new TokenGenerator(); string result = TG.DecodeTokenAwt(Request.Headers.Authorization.ToString().Replace("Bearer ", "")).Result; if (!string.IsNullOrEmpty(result)) { Id_Usuario = int.Parse(result.Split('|')[0]); Id_Rol = int.Parse(result.Split('|')[2]); Rol R = DB.Rol.Where(x => x.Id == Id_Rol && x.Rol1.ToUpper().Equals("ADMINISTRADOR")).FirstOrDefault(); if (R != null) { return(Ok(UT.Creacion(model))); } else { return(BadRequest("El usuario logueado no tiene permisos para realizar la acción.")); } } else { return(BadRequest("No se pudo verficar la autenticacion del usuario.")); } }
private Usuario parsearUsr(UsuarioEdit ue) { Usuario usr = new Usuario(); usr.ID = ue.ID; usr.NombreUsuario = ue.NombreUsuario; usr.Habilitado = ue.Habilitado; usr.Clave = ue.Clave; usr.IDPersona = ue.IDPersona; usr.Persona = ue.Persona; usr.Salt = ue.Salt; return(usr); }
private UsuarioEdit parsearEdit(Usuario usr) { UsuarioEdit ue = new UsuarioEdit(); ue.ID = usr.ID; ue.NombreUsuario = usr.NombreUsuario; ue.Habilitado = usr.Habilitado; ue.Clave = usr.Clave; ue.IDPersona = usr.IDPersona; ue.Persona = usr.Persona; ue.Salt = usr.Salt; return(ue); }
public ActionResult Edit([Bind(Include = "IdUsuario,Email,Login,Status,Admin")] UsuarioEdit model) { try { ViewBag.Message = ""; if (ModelState.IsValid) { usuarioService.Atualizar(model); return(RedirectToAction("Index")); } return(View(model)); } catch (Exception erro) { ViewBag.Message = erro.Message; return(View(model)); } }
public Result <UsuarioEdit> GetUsuarioEditById(long id) { var result = new Result <UsuarioEdit>(); try { using (var connection = _dapperAdapter.Open()) { // Obtiene informacion basica del usuario var usuarioEdit = new UsuarioEdit(); usuarioEdit.Usuario = connection.Get <Usuario>(id); // Obtiene lista de permisos asociados al usuario var listPermisosUsuario = _permisoService.ListPermisosAsignadosUsuario(id); if (!listPermisosUsuario.Success) { result.Message = listPermisosUsuario.Message; return(result); } usuarioEdit.Permisos = listPermisosUsuario.Data; // Obtiene lista de roles asociados al usuario var listRolesUsuario = _roleService.ListRolesUsuario(id); if (!listRolesUsuario.Success) { result.Message = listRolesUsuario.Message; return(result); } usuarioEdit.Roles = listRolesUsuario.Data; // Actualiza informacion del objeto Usuario. result.Data = usuarioEdit; result.Success = true; } } catch (Exception ex) { result.Message = "Error consultando usuario"; result.Exception = ex; } return(result); }
public Usuario Atualizar(UsuarioEdit usuario) { var request = new RestRequest(Method.PUT); var json = JsonConvert.SerializeObject(usuario); request.AddHeader("Authorization", $"Bearer {USER_TOKEN}"); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", json, ParameterType.RequestBody); IRestResponse response = _RestClient.Execute(request); if (response.StatusCode == HttpStatusCode.OK) { var novoUsuario = JsonConvert.DeserializeObject <Usuario>(response.Content); return(novoUsuario); } else { throw new Exception("Não foi possível inserir"); } }
public IActionResult Edit(int id, [Bind("ID, NombreUsuario, Habilitado, Clave, IDPersona")] UsuarioEdit edit) { if (id != edit.ID) { return(NotFound()); } try { if (!ModelState.IsValid) { return(View(parsearEdit(_usuarioLogic.GetOne(edit.ID)))); } Usuario usr = parsearUsr(edit); usr.State = BusinessEntity.States.Modified; _usuarioLogic.Save(usr); }catch (Exception ex) { _logger.LogError(ex, ex.Message); ModelState.AddModelError("", "Se produjo un error al editar el usuario."); return(View((edit))); } return(RedirectToAction("List")); }
public ActionResult Post([FromBody] UsuarioEdit model) { #region Estados List <EstadoList> LstEL = new List <EstadoList>(); EstadoList EL = new EstadoList(); LstEL.Add(EL = new EstadoList() { Id = 0, Estado = "Inactivo" }); LstEL.Add(EL = new EstadoList() { Id = 1, Estado = "Activo" }); #endregion using (var transaction = Context.Database.BeginTransaction()) { try { Usuario User = Context.Usuario.Where(x => x.UserName.ToUpper().Equals(model.UserName.ToUpper()) && x.Correo.ToUpper().Equals(model.Correo.ToUpper()) && x.Rol_Id == model.Rol_Id).FirstOrDefault(); if (User == null && LstEL.Where(x => x.Id == model.Estado).FirstOrDefault() != null) { User = new Usuario() { Nombre = model.Nombre, Apellido = model.Apellido, Rol_Id = Context.Rol.Where(x => x.RolName.ToUpper().Equals("OPERARIO")).Select(x => x.Id).FirstOrDefault(), UserName = model.UserName, Correo = model.Correo, Contrasena = Encriptar("Slab" + model.UserName + "Code"), Estado = model.Estado == 0 ? false : true }; Context.Usuario.Add(User); Context.SaveChanges(); #region Email var fromAddress = new MailAddress(_configuration["MailFromCredentials:Mail"], "Slab Code"); var toAddress = new MailAddress(model.Correo, model.Nombre + ' ' + model.Apellido); string fromPassword = _configuration["MailFromCredentials:Password"]; const string subject = "Creacion de Usuario en SlabCode."; string body = "Su usuario es: " + model.UserName + " y su contraseña es: " + "Slab" + model.UserName + "Code"; var smtp = new SmtpClient { Host = "smtp.gmail.com", Port = 587, EnableSsl = true, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Credentials = new NetworkCredential(fromAddress.Address, fromPassword) }; using (var message = new MailMessage(fromAddress, toAddress) { Subject = subject, Body = body }) { smtp.Send(message); } #endregion transaction.Commit(); return(Ok()); } else { return(BadRequest("Ya existe un usuario con el nombre de usuario: " + model.UserName + ", y con el correo: " + model.Correo + "")); } } catch (Exception Exc) { transaction.Rollback(); return(BadRequest("Error al guardar el usuario, error: " + Exc.Message.ToString())); } } }
public dynamic Creacion(UsuarioEdit model) { #region Estados List <EstadoList> LstEL = new List <EstadoList>(); EstadoList EL = new EstadoList(); LstEL.Add(EL = new EstadoList() { Id = 0, Estado = "Inactivo" }); LstEL.Add(EL = new EstadoList() { Id = 1, Estado = "Activo" }); #endregion DB = new SlabEntities(); response = new Response(); using (var transaction = DB.Database.BeginTransaction()) { try { Usuario User = DB.Usuario.Where(x => x.Usuario1.ToUpper().Equals(model.Usuario.ToUpper()) && x.Correo.ToUpper().Equals(model.Correo.ToUpper()) && x.Rol_Id == model.Rol_Id).FirstOrDefault(); if (User == null && LstEL.Where(x => x.Id == model.Estado).FirstOrDefault() != null) { User = new Usuario() { Nombre = model.Nombre, Apellido = model.Apellido, Rol_Id = DB.Rol.Where(x => x.Rol1.ToUpper().Equals("OPERARIO")).Select(x => x.Id).FirstOrDefault(), Usuario1 = model.Usuario, Correo = model.Correo, Contrasena = response.Encriptar("Slab" + model.Usuario + "Code"), Estado = model.Estado == 0 ? false : true }; DB.Usuario.Add(User); DB.SaveChanges(); #region Email var fromAddress = new MailAddress(ConfigurationManager.AppSettings["MailFrom"], "Slab Code"); var toAddress = new MailAddress(model.Correo, model.Nombre + ' ' + model.Apellido); string fromPassword = ConfigurationManager.AppSettings["MailPassword"]; const string subject = "Creacion de Usuario en SlabCode."; string body = "Su usuario es: " + model.Usuario + " y su contraseña es: " + "Slab" + model.Usuario + "Code"; var smtp = new SmtpClient { Host = "smtp.gmail.com", Port = 587, EnableSsl = true, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Credentials = new NetworkCredential(fromAddress.Address, fromPassword) }; using (var message = new MailMessage(fromAddress, toAddress) { Subject = subject, Body = body }) { smtp.Send(message); } #endregion response.Successfully = true; response.Code = 201; response.Message = "Usuario Insertado con éxito."; response.Result = "Successfully"; transaction.Commit(); } else { response.Successfully = false; response.Code = 200; response.Message = string.Format("Ya existe un Usuario con ese usuario {0}, con ese correo {1} o la informacion enviada es incorrecta.", model.Usuario, model.Correo); response.Result = null; } } catch (Exception Exc) { transaction.Rollback(); response.Successfully = false; response.Code = 400; response.Message = "Error In the Method, Error: " + Exc.Message.ToString(); response.Result = "Error in the Method"; } } return(response); }