public Stream AdminConfiguracionGeneralU(ConfiguracionGeneral datos) { try { var db = new CoomuceEntities(); var itemConf = db.ConfiguracionGeneral .Where(r => r.idConfiguracionGeneral.Equals(datos.idConfiguracionGeneral)) .FirstOrDefault(); itemConf.tiempoInactividadConfiguracionGeneral = datos.tiempoInactividadConfiguracionGeneral; itemConf.salarioConfiguracionGeneral = datos.salarioConfiguracionGeneral; itemConf.emailSalienteConfiguracionGeneral = datos.emailSalienteConfiguracionGeneral; itemConf.pswEmailConfiguracionGeneral = datos.pswEmailConfiguracionGeneral; itemConf.ccConfiguracionGeneral = datos.ccConfiguracionGeneral; itemConf.csConfiguracionGeneral = datos.csConfiguracionGeneral; itemConf.hostConfiguracionGeneral = datos.hostConfiguracionGeneral; itemConf.portConfiguracionGeneral = datos.portConfiguracionGeneral; itemConf.sslConfiguracionGeneral = datos.sslConfiguracionGeneral; db.SaveChanges(); return gen.EscribirJson(new { message = Mensajes.Guardar, success = true }); } catch (Exception ex) { return gen.EscribirJson(new { message = string.Format(Mensajes.Error, ex.Message), success = false }); } }
public Stream AdminPermisosRolCUD(List<RolMenu> nuevos, List<RolMenu> viejos, List<RolMenu> eliminados) { var db = new CoomuceEntities(); var transaction = db.Database.BeginTransaction(); try { // hay datos para eliminar? if (eliminados.Count > 0) { // marcar registros para eliminar eliminados.ForEach(e => db.Entry(e).State = EntityState.Deleted); // eliminar registros db.RolMenu.RemoveRange(eliminados); } // hay datos para actualizar? if (viejos.Count > 0) { viejos.ForEach(v => db.Entry(v).State = EntityState.Modified); } // hay datos para adicionar? if (nuevos.Count > 0) { // agregar rango de nuevos registros db.RolMenu.AddRange(nuevos); } // guardo datos y confirmo transacción db.SaveChanges(); transaction.Commit(); return gen.EscribirJson(new { message = Mensajes.Guardar, success = true }); } catch (Exception ex) { transaction.Rollback(); return gen.EscribirJson(new { message = string.Format(Mensajes.Error, ex.Message), success = false }); } }
public Stream AdminConfiguracionCuerpoCorreoU(ConfiguracionCuerpoCorreo datos) { try { var db = new CoomuceEntities(); var itemConf = db.ConfiguracionCuerpoCorreo .Where(r => r.idConfiguracionCuerpoCorreo.Equals(datos.idConfiguracionCuerpoCorreo)) .FirstOrDefault(); itemConf.tituloConfiguracionCuerpoCorreo = datos.tituloConfiguracionCuerpoCorreo; itemConf.mensajeConfiguracionCuerpoCorreo = datos.mensajeConfiguracionCuerpoCorreo; db.SaveChanges(); return gen.EscribirJson(new { message = Mensajes.Guardar, success = true }); } catch (Exception ex) { return gen.EscribirJson(new { message = string.Format(Mensajes.Error, ex.Message), success = false }); } }
public Stream SeguridadCambiarContraseña(string username, string password, string newpassword) { try { var db = new CoomuceEntities(); // obtengo los datos del usuario var info = db.Usuario .Where(r => r.loginUsuario.Equals(username) && r.passwordUsuario.Equals(password)) .FirstOrDefault(); // verifico si existe el usuario if (info == null) { return(gen.EscribirJson(new { message = Mensajes.UsuarioIncorrecto, success = false })); } info.passwordUsuario = newpassword; RNGCryptoServiceProvider provider = new RNGCryptoServiceProvider(); byte[] data = new byte[5]; provider.GetBytes(data); info.passwordSaltUsuario = Convert.ToBase64String(data); info.passwordHashUsuario = FormsAuthentication.HashPasswordForStoringInConfigFile(info.passwordUsuario + info.passwordSaltUsuario, "SHA1"); info.esTemporalUsuario = false; info.estaHabilitadoUsuario = true; db.SaveChanges(); return(gen.EscribirJson(new { message = Mensajes.UsuarioCambiarContraseña, success = true })); } catch (Exception ex) { return(gen.EscribirJson(new { message = string.Format(Mensajes.Error, ex.Message), success = false })); } }
public Stream AdminUsuarioCUD(List<Usuario> nuevos, List<Usuario> viejos, List<Usuario> eliminados) { var db = new CoomuceEntities(); var transaction = db.Database.BeginTransaction(); try { // hay datos para eliminar? if (eliminados.Count > 0) { // marcar registros para eliminar eliminados.ForEach(e => db.Entry(e).State = EntityState.Deleted); // eliminar registros db.Usuario.RemoveRange(eliminados); } // hay datos para actualizar? if (viejos.Count > 0) { // obtengo los id's de los items editados var listaId = viejos.Select(v => v.idUsuario).ToList(); // obtengo los items editados var itemEditar = db.Usuario.Where(r => listaId.Contains(r.idUsuario)).ToList(); // obtengo los datos editados itemEditar.ForEach(r => { var v = viejos.Where(i => i.idUsuario == r.idUsuario).FirstOrDefault(); r.idTipoIdentificacion = v.idTipoIdentificacion; r.identificacionUsuario = v.identificacionUsuario; r.primerApellidoUsuario = v.primerApellidoUsuario; r.segundoApellidoUsuario = v.segundoApellidoUsuario; r.primerNombreUsuario = v.primerNombreUsuario; r.segundoNombreUsuario = v.segundoNombreUsuario; r.emailUsuario = v.emailUsuario; r.celularUsuario = v.celularUsuario; r.idRol = v.idRol; r.estaHabilitadoUsuario = v.estaHabilitadoUsuario; }); } // hay datos para adicionar? if (nuevos.Count > 0) { foreach (var item in nuevos) { // obtener login de usuario string loginUsuario = string.Format("{0}{1}{2}", item.primerNombreUsuario.Substring(0, 1), item.primerApellidoUsuario.Replace(" ", ""), (string.IsNullOrEmpty(item.segundoApellidoUsuario) ? "" : item.segundoApellidoUsuario.Substring(0, 1))); // verificar si hay un usuario con el mismo login var existenLogin = db.Usuario .Where(r => r.loginUsuario.Substring(0, loginUsuario.Length).Equals(loginUsuario)) .Count(); // se encontro usuarios con el mismo login? if (existenLogin > 0) { existenLogin++; loginUsuario += existenLogin.ToString(); } item.loginUsuario = loginUsuario; // se genera la contraseña item.passwordUsuario = Membership.GeneratePassword(12, 0); RNGCryptoServiceProvider provider = new RNGCryptoServiceProvider(); byte[] data = new byte[5]; provider.GetBytes(data); item.passwordSaltUsuario = Convert.ToBase64String(data); item.passwordHashUsuario = FormsAuthentication.HashPasswordForStoringInConfigFile(item.passwordUsuario + item.passwordSaltUsuario, "SHA1"); } // agregar rango de nuevos registros db.Usuario.AddRange(nuevos); } // guardo datos y confirmo transacción db.SaveChanges(); transaction.Commit(); // hay nuevos datos?, si es asi enviamos los correos con las claves de acceso if (nuevos.Count > 0) { foreach (var item in nuevos) { bool credencialesEnviadas = false; credencialesEnviadas = gen.EnviarCorreo(item, 0); } } return gen.EscribirJson(new { message = Mensajes.Guardar, success = true }); } catch (Exception ex) { transaction.Rollback(); return gen.EscribirJson(new { message = string.Format(Mensajes.Error, ex.Message), success = false }); } }