public HttpResponseMessage Put(dynamic DynamicClass) { HttpResponseMessage httpResponse = new HttpResponseMessage(); string Input = JsonConvert.SerializeObject(DynamicClass); dynamic data = JObject.Parse(Input); if (data.AusId == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "AusId"); } //password no es requerido ya que puede ser una actualizaciòn de usuario else if (data.Run == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Run"); } else if (data.EcolId == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Ecol Id"); } else if (data.FechaAtencion == null) { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Fecha Atencion"); } else { try { //variables int nuevoId = 0; string ausId = data.AusId; string run = data.Run; string ecolId = data.EcolId; DateTime fechaAtencion = data.FechaAtencion; string fechaActual = VCFramework.NegocioMySQL.Utiles.ConstruyeFechaDos(DateTime.Now); string fechaAt = fechaAtencion.ToShortDateString() + " " + fechaAtencion.ToShortTimeString(); VCFramework.Entidad.RegistroImpresion entidad = new VCFramework.Entidad.RegistroImpresion(); entidad.AusId = int.Parse(ausId); entidad.EcolId = int.Parse(ecolId); entidad.Fecha = fechaActual; entidad.FechaAtencion = fechaAt.Replace("/", "-"); entidad.Run = run.Replace(".", "").Replace("-", ""); nuevoId = VCFramework.NegocioMySql.RegistroImpresion.Insertar(entidad); entidad.Id = nuevoId; httpResponse = ManejoMensajes.RetornaMensajeCorrecto(httpResponse, entidad, EnumMensajes.Registro_modificado_con_exito); } catch (Exception ex) { VCFramework.NegocioMySQL.Utiles.NLogs(ex); httpResponse = ManejoMensajes.RetornaMensajeExcepcion(httpResponse, ex); } } return(httpResponse); }
public HttpResponseMessage Get([FromUri] int id) { HttpResponseMessage httpResponse = new HttpResponseMessage(); //validaciones antes de ejecutar la llamada. //este id corresponde al AusId if (id == 0) { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Aus Id"); } else { try { int idBuscar = id; VCFramework.Entidad.AutentificacionUsuario aus = VCFramework.NegocioMySql.AutentificacionUsuario.ListarUsuariosPorId(idBuscar); VCFramework.EntidadFuncional.UsuarioEnvoltorio usu = new VCFramework.EntidadFuncional.UsuarioEnvoltorio(); if (aus != null && aus.Id > 0) { VCFramework.Entidad.Roles rol = VCFramework.NegocioMySql.Roles.ListarRolesPorId(aus.RolId); VCFramework.Entidad.Persona persona = VCFramework.NegocioMySql.Persona.ListarPersonaPorAusId(aus.Id); //data de retorno usu.AutentificacionUsuario = new AutentificacionUsuario(); usu.AutentificacionUsuario = aus; usu.Persona = new Persona(); usu.Persona = persona; usu.Rol = new Roles(); usu.Rol = rol; VCFramework.Entidad.EntidadContratante contratante = VCFramework.NegocioMySql.EntidadContratante.ListarEcolPorId(aus.EcolId); usu.EntidadContratante = new EntidadContratante(); usu.EntidadContratante = contratante; VCFramework.Entidad.ParametrosEcol parametros = VCFramework.NegocioMySql.ParametrosEcol.ListarPorEcolId(aus.EcolId); usu.ParametrosEcol = new ParametrosEcol(); usu.ParametrosEcol = parametros; httpResponse = ManejoMensajes.RetornaMensajeCorrecto(httpResponse, usu, EnumMensajes.Correcto); } else { httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, EnumMensajes.Usuario_no_existe); } } catch (Exception ex) { VCFramework.NegocioMySQL.Utiles.NLogs(ex); httpResponse = ManejoMensajes.RetornaMensajeExcepcion(httpResponse, ex); } } return(httpResponse); }
public HttpResponseMessage Post(dynamic DynamicClass) { HttpResponseMessage httpResponse = new HttpResponseMessage(); string Input = JsonConvert.SerializeObject(DynamicClass); dynamic data = JObject.Parse(Input); if (data.RolId == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Rol Id"); } else if (data.EcolId == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Ecol Id"); } else { try { string rolId = data.RolId; string ecolId = data.EcolId; int idBuscar = int.Parse(rolId); List <VCFramework.Entidad.EntidadContratante> contratantes = new List <VCFramework.Entidad.EntidadContratante>(); if (idBuscar == 1) { //super administrador contratantes = VCFramework.NegocioMySql.EntidadContratante.ListarTodos(); } else { //todos sin el super contratantes = VCFramework.NegocioMySql.EntidadContratante.ListarTodos().FindAll(p => p.Id == int.Parse(ecolId)); } httpResponse = ManejoMensajes.RetornaMensajeCorrecto(httpResponse, contratantes); } catch (Exception ex) { VCFramework.NegocioMySQL.Utiles.NLogs(ex); httpResponse = ManejoMensajes.RetornaMensajeExcepcion(httpResponse, ex); } } return(httpResponse); }
public HttpResponseMessage Get([FromUri] string email, [FromUri] string nombreUsuario, [FromUri] string password) { HttpResponseMessage httpResponse = new HttpResponseMessage(); //validaciones antes de ejecutar la llamada. //este id corresponde al AusId if (nombreUsuario == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "nombre de usuario"); } else if (email == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "email"); } else if (password == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "password"); } else { try { bool resultado = false; VCFramework.Entidad.AutentificacionUsuario aus = VCFramework.NegocioMySql.AutentificacionUsuario.ListarUsuariosPorNombreUsuario(nombreUsuario); if (aus != null && aus.Id > 0) { string nuevaPass = VCFramework.NegocioMySQL.Utiles.Encriptar(password); aus.Password = nuevaPass; VCFramework.NegocioMySql.AutentificacionUsuario.Modificar(aus); resultado = VCFramework.NegocioMySQL.Utiles.EnviarCorreoCambioClave(email, nombreUsuario, password); } httpResponse = ManejoMensajes.RetornaMensajeCorrecto(httpResponse, resultado); } catch (Exception ex) { VCFramework.NegocioMySQL.Utiles.NLogs(ex); httpResponse = ManejoMensajes.RetornaMensajeExcepcion(httpResponse, ex); } } return(httpResponse); }
public HttpResponseMessage Post(dynamic DynamicClass) { HttpResponseMessage httpResponse = new HttpResponseMessage(); string Input = JsonConvert.SerializeObject(DynamicClass); dynamic data = JObject.Parse(Input); if (data.Email == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Email, recuperar clave"); } else if (data.NombreUsuario == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Nombre usuario, recuperar clave"); } else if (data.Password == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Password, recuperar clave"); } else { try { string email = data.Email; string nomberUsuario = data.NombreUsuario; string pass = data.Password; string password = VCFramework.NegocioMySQL.Utiles.DesEncriptar(pass); bool resultado = VCFramework.NegocioMySQL.Utiles.EnviarCorreoRecuperacionClave(email, nomberUsuario, password); httpResponse = ManejoMensajes.RetornaMensajeCorrecto(httpResponse, resultado); } catch (Exception ex) { VCFramework.NegocioMySQL.Utiles.NLogs(ex); httpResponse = ManejoMensajes.RetornaMensajeExcepcion(httpResponse, ex); } } return(httpResponse); }
public HttpResponseMessage Post(dynamic DynamicClass) { HttpResponseMessage httpResponse = new HttpResponseMessage(); string Input = JsonConvert.SerializeObject(DynamicClass); dynamic data = JObject.Parse(Input); if (data.Run == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Rol Id"); } else { string run = data.Run; string idRyf = ""; try { //OBTENEMOS EL IDRYF VCFramework.EntidadFuncional.Persona perRyf = new VCFramework.EntidadFuncional.Persona(); perRyf = VCFramework.NegocioMySql.PersonaRYF.ListarPersonaPorRun(run); if (perRyf != null && perRyf.Id > 0) { idRyf = perRyf.Id.ToString(); ServicioVisor.visor_clService servicio = new ServicioVisor.visor_clService(); ServicioVisor.Request_TT request = new ServicioVisor.Request_TT(); request.IdentificadorProfesional = "0"; request.IdentificadorUnicoPaciente = idRyf; request.NumeroIdentificacionPaciente = run; request.SistemaSolicitaConsulta = 1; request.TipoIdentificacionPaciente = 1; ServicioVisor.responseTT response = servicio.ObtenerURLVisorHCC(request); if (response != null && response.URL.Length > 0) { //hay que sobrescribir la url ya que se usará de forma local //https://previsor.saludenred.cl/#/NzA0Nzk1OTE=/MQ==/ODkxMDc2OA==/ACF6B3904AC3317878F7837BE03C7B9F //algo asi como /* * /#/NzA0Nzk1OTE=/MQ==/ODkxMDc2OA==/ACF6B3904AC3317878F7837BE03C7B9F */ // y dejarlo /* * /#/NzA0Nzk1OTE=/MQ==/ODkxMDc2OA==/ACF6B3904AC3317878F7837BE03C7B9F/arraydecodigosdeis=12,34,33 * por mientras la dejamos solita */ //vamos a procesar la url string[] elementos = response.URL.Split('#'); //los sacamos de atrás para adelante, necesitamos los 4 ultimos System.Text.StringBuilder sb = new System.Text.StringBuilder(); if (elementos != null && elementos.Length > 1) { sb.Append(elementos[1]); } EntidadUrl entidad = new EntidadUrl(); entidad.UrlVisor = response.URL; entidad.UrlHash = sb.ToString(); httpResponse = ManejoMensajes.RetornaMensajeCorrecto(httpResponse, entidad); } else { httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, 1000, "Error al obtener url de visor"); } } else { httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, 1000, "Error en la BD de RYF, usuario no existe, valor nulo"); } } catch (Exception ex) { VCFramework.NegocioMySQL.Utiles.NLogs(ex); httpResponse = ManejoMensajes.RetornaMensajeExcepcion(httpResponse, ex); } } return(httpResponse); }
public HttpResponseMessage Post(dynamic DynamicClass) { HttpResponseMessage httpResponse = new HttpResponseMessage(); string Input = JsonConvert.SerializeObject(DynamicClass); dynamic data = JObject.Parse(Input); if (data.EcolId == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Ecol Id"); } else if (data.RolId == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Rol Id"); } else { try { string ecolId = data.EcolId; string rolId = data.RolId; //buscamos a los usuarios dependiendo de algunos factores //si el rol es Super Administrador List <VCFramework.EntidadFuncional.UsuarioEnvoltorio> usuarios = new List <VCFramework.EntidadFuncional.UsuarioEnvoltorio>(); if (int.Parse(rolId) == 1) { //si el valor de nodid = 0 es todos if (int.Parse(ecolId) == 0) { List <VCFramework.Entidad.AutentificacionUsuario> aus = VCFramework.NegocioMySql.AutentificacionUsuario.Listar(); if (aus != null && aus.Count > 0) { foreach (VCFramework.Entidad.AutentificacionUsuario au in aus) { VCFramework.EntidadFuncional.UsuarioEnvoltorio usuEnv = new VCFramework.EntidadFuncional.UsuarioEnvoltorio(); usuEnv.AutentificacionUsuario = new AutentificacionUsuario(); usuEnv.AutentificacionUsuario = au; usuEnv.Persona = new Persona(); usuEnv.Persona = VCFramework.NegocioMySql.Persona.ListarPersonaPorAusId(au.Id); usuEnv.Rol = new Roles(); usuEnv.Rol = VCFramework.NegocioMySql.Roles.ListarRolesPorId(au.RolId); VCFramework.Entidad.EntidadContratante contratante = VCFramework.NegocioMySql.EntidadContratante.ListarEcolPorId(au.EcolId); usuEnv.EntidadContratante = new EntidadContratante(); usuEnv.EntidadContratante = contratante; VCFramework.Entidad.ParametrosEcol parametros = VCFramework.NegocioMySql.ParametrosEcol.ListarPorEcolId(au.EcolId); usuEnv.ParametrosEcol = new ParametrosEcol(); usuEnv.ParametrosEcol = parametros; usuarios.Add(usuEnv); } } } else { List <VCFramework.Entidad.AutentificacionUsuario> aus = VCFramework.NegocioMySql.AutentificacionUsuario.ListarUsuariosPorEcolId(int.Parse(ecolId)); if (aus != null && aus.Count > 0) { foreach (VCFramework.Entidad.AutentificacionUsuario au in aus) { VCFramework.EntidadFuncional.UsuarioEnvoltorio usuEnv = new VCFramework.EntidadFuncional.UsuarioEnvoltorio(); usuEnv.AutentificacionUsuario = new AutentificacionUsuario(); usuEnv.AutentificacionUsuario = au; usuEnv.Persona = new Persona(); usuEnv.Persona = VCFramework.NegocioMySql.Persona.ListarPersonaPorAusId(au.Id); usuEnv.Rol = new Roles(); usuEnv.Rol = VCFramework.NegocioMySql.Roles.ListarRolesPorId(au.RolId); VCFramework.Entidad.EntidadContratante contratante = VCFramework.NegocioMySql.EntidadContratante.ListarEcolPorId(au.EcolId); usuEnv.EntidadContratante = new EntidadContratante(); usuEnv.EntidadContratante = contratante; VCFramework.Entidad.ParametrosEcol parametros = VCFramework.NegocioMySql.ParametrosEcol.ListarPorEcolId(au.EcolId); usuEnv.ParametrosEcol = new ParametrosEcol(); usuEnv.ParametrosEcol = parametros; usuarios.Add(usuEnv); } } } } else { List <VCFramework.Entidad.AutentificacionUsuario> aus = VCFramework.NegocioMySql.AutentificacionUsuario.ListarUsuariosPorEcolId(int.Parse(ecolId)); if (aus != null && aus.Count > 0) { foreach (VCFramework.Entidad.AutentificacionUsuario au in aus) { if (au.RolId != 1) { VCFramework.EntidadFuncional.UsuarioEnvoltorio usuEnv = new VCFramework.EntidadFuncional.UsuarioEnvoltorio(); usuEnv.AutentificacionUsuario = new AutentificacionUsuario(); usuEnv.AutentificacionUsuario = au; usuEnv.Persona = new Persona(); usuEnv.Persona = VCFramework.NegocioMySql.Persona.ListarPersonaPorAusId(au.Id); usuEnv.Rol = new Roles(); usuEnv.Rol = VCFramework.NegocioMySql.Roles.ListarRolesPorId(au.RolId); VCFramework.Entidad.EntidadContratante contratante = VCFramework.NegocioMySql.EntidadContratante.ListarEcolPorId(au.EcolId); usuEnv.EntidadContratante = new EntidadContratante(); usuEnv.EntidadContratante = contratante; VCFramework.Entidad.ParametrosEcol parametros = VCFramework.NegocioMySql.ParametrosEcol.ListarPorEcolId(au.EcolId); usuEnv.ParametrosEcol = new ParametrosEcol(); usuEnv.ParametrosEcol = parametros; usuarios.Add(usuEnv); } } } } httpResponse = ManejoMensajes.RetornaMensajeCorrecto(httpResponse, usuarios); } catch (Exception ex) { VCFramework.NegocioMySQL.Utiles.NLogs(ex); httpResponse = ManejoMensajes.RetornaMensajeExcepcion(httpResponse, ex); } } return(httpResponse); }
public HttpResponseMessage Delete([FromUri] string Id, [FromUri] string TipoOperacion) { HttpResponseMessage httpResponse = new HttpResponseMessage(); //string Input = JsonConvert.SerializeObject(DynamicClass); //dynamic data = JObject.Parse(Input); //validaciones antes de ejecutar la llamada. //este id corresponde al AusId if (Id == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Aus Id"); } else if (TipoOperacion == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Tipo Operacion"); } else { string id = Id; string tipoOperacion = TipoOperacion; //buscamos VCFramework.Entidad.AutentificacionUsuario aus = VCFramework.NegocioMySql.AutentificacionUsuario.ListarUsuariosPorId(int.Parse(id)); try { if (aus != null && aus.Id > 0) { VCFramework.Entidad.Roles rol = VCFramework.NegocioMySql.Roles.ListarRolesPorId(aus.RolId); VCFramework.EntidadFuncional.UsuarioEnvoltorio usu = new VCFramework.EntidadFuncional.UsuarioEnvoltorio(); //ya estan seteados los valores asi que se procede a realizar directamente la operacion if (tipoOperacion == "0") { //desactivar VCFramework.NegocioMySql.AutentificacionUsuario.Desactivar(aus); VCFramework.Entidad.Persona persona = VCFramework.NegocioMySql.Persona.ListarPersonaPorAusId(int.Parse(id)); if (persona != null && persona.Id > 0) { VCFramework.NegocioMySql.Persona.Desactivar(persona); } //data de retorno usu.AutentificacionUsuario = new AutentificacionUsuario(); usu.AutentificacionUsuario = aus; usu.Persona = new Persona(); usu.Persona = persona; usu.Rol = new Roles(); usu.Rol = rol; httpResponse = ManejoMensajes.RetornaMensajeCorrecto(httpResponse, usu, EnumMensajes.Registro_desactivado_con_exito); } else if (tipoOperacion == "1") { //activar VCFramework.NegocioMySql.AutentificacionUsuario.Activar(aus); VCFramework.Entidad.Persona persona = VCFramework.NegocioMySql.Persona.ListarPersonaPorAusId(int.Parse(id)); if (persona != null && persona.Id > 0) { VCFramework.NegocioMySql.Persona.Activar(persona); } //data de retorno usu.AutentificacionUsuario = new AutentificacionUsuario(); usu.AutentificacionUsuario = aus; usu.Persona = new Persona(); usu.Persona = persona; usu.Rol = new Roles(); usu.Rol = rol; httpResponse = ManejoMensajes.RetornaMensajeCorrecto(httpResponse, usu, EnumMensajes.Registro_desactivado_con_exito); } else { //eliminar VCFramework.NegocioMySql.AutentificacionUsuario.Eliminar(aus); VCFramework.Entidad.Persona persona = VCFramework.NegocioMySql.Persona.ListarPersonaPorAusId(int.Parse(id)); if (persona != null && persona.Id > 0) { VCFramework.NegocioMySql.Persona.Eliminar(persona); } //data de retorno usu.AutentificacionUsuario = new AutentificacionUsuario(); usu.AutentificacionUsuario = aus; usu.Persona = new Persona(); usu.Persona = persona; usu.Rol = new Roles(); usu.Rol = rol; httpResponse = ManejoMensajes.RetornaMensajeCorrecto(httpResponse, usu, EnumMensajes.Registro_eliminado_con_exito); } } else { httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, EnumMensajes.Usuario_no_existe); } } catch (Exception ex) { VCFramework.NegocioMySQL.Utiles.NLogs(ex); httpResponse = ManejoMensajes.RetornaMensajeExcepcion(httpResponse, ex); } } return(httpResponse); }
public HttpResponseMessage Put(dynamic DynamicClass) { HttpResponseMessage httpResponse = new HttpResponseMessage(); string Input = JsonConvert.SerializeObject(DynamicClass); dynamic data = JObject.Parse(Input); if (data.NombreUsuario == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Nombre de Usuario"); } //password no es requerido ya que puede ser una actualizaciòn de usuario else if (data.EcolId == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Ecol Id"); } else if (data.RolId == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Rol Id"); } else if (data.Nombres == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Nombres"); } else if (data.PrimerApellido == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Primer Apellido"); } //segundo apellido no es requerido //run no es requerido else if (data.CorreoElectronico == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Correo Electronico"); } //telefono contacto 1 no es requerido //telefono contacto 2 no es requerido //AusId es el elemento decidor para determinar si es nuevo o modificado else if (data.AusId == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Aus Id"); } else { try { //variables string nombreUsuario = data.NombreUsuario; string ecolId = data.EcolId; string rolId = data.RolId; string nombres = data.Nombres; string primerApellido = data.PrimerApellido; string correoElectronico = data.CorreoElectronico; string ausId = data.AusId; //variables que son opcionales string password = ""; string passwordEncript = ""; if (data.Password != null) { password = data.Password; passwordEncript = VCFramework.NegocioMySQL.Utiles.Encriptar(password); } string segundoApellido = ""; if (data.SegundoApellido != null) { segundoApellido = data.SegundoApellido; } string telefonoContactoUno = ""; if (data.TelefonoContactoUno != null) { telefonoContactoUno = data.TelefonoContactoUno; } string telefonoContactoDos = ""; if (data.TelefonoContactoDos != null) { telefonoContactoDos = data.TelefonoContactoDos; } string activo = "1"; if (data.Activo != null) { activo = data.Activo; } string eliminado = "0"; if (data.Eliminado != null) { eliminado = data.Eliminado; } string run = ""; if (data.Run != null) { run = data.Run; } //para controlar si es nuevo o antiguo bool esNuevo = false; int ausIdInt = int.Parse(ausId); if (ausIdInt == 0) { esNuevo = true; } //Autentificacion usuario VCFramework.Entidad.AutentificacionUsuario ausG = new AutentificacionUsuario(); ausG.Activo = int.Parse(activo); ausG.Eliminado = int.Parse(eliminado); ausG.EcolId = int.Parse(ecolId); ausG.NombreUsuario = nombreUsuario; ausG.RolId = int.Parse(rolId); //persona VCFramework.Entidad.Persona personaG = new Persona(); personaG.Activo = int.Parse(activo); personaG.ApellidoMaterno = segundoApellido; personaG.ApellidoPaterno = primerApellido; personaG.AusId = int.Parse(ausId); personaG.CorreoElectronico = correoElectronico; personaG.Eliminado = int.Parse(eliminado); personaG.Nombres = nombres; personaG.Run = run; personaG.TelefonoContactoDos = telefonoContactoDos; personaG.TelefonoContactoUno = telefonoContactoUno; //rol VCFramework.Entidad.Roles rolG = VCFramework.NegocioMySql.Roles.ListarRolesPorId(int.Parse(rolId)); //retorno de entidad VCFramework.EntidadFuncional.UsuarioEnvoltorio usuario = new VCFramework.EntidadFuncional.UsuarioEnvoltorio(); //si el usuario es nuevo if (esNuevo) { //antes de todo se debe verificar si ya no llegò al tope de licencias contratadas int cantidadUsuarios = VCFramework.NegocioMySql.AutentificacionUsuario.ListarUsuariosPorEcolId(ausG.EcolId).Count; VCFramework.Entidad.ParametrosEcol param = VCFramework.NegocioMySql.ParametrosEcol.ListarPorEcolId(ausG.EcolId); int cantidadPermitida = 1; if (param != null && param.Id > 0) { cantidadPermitida = param.TopeUsuarios; } if (cantidadUsuarios <= cantidadPermitida) { //esta insertando //obtenemos por nombre usuario para verificar si ya existe VCFramework.Entidad.AutentificacionUsuario aus = VCFramework.NegocioMySql.AutentificacionUsuario.ListarUsuariosPorNombreUsuario(nombreUsuario); if (aus != null && aus.Id == 0) { //todo bien, seguir ausG.Password = passwordEncript; ausG.FechaCreacion = VCFramework.NegocioMySQL.Utiles.ConstruyeFechaDos(DateTime.Now); int idAus = VCFramework.NegocioMySql.AutentificacionUsuario.Insertar(ausG); ausG.Id = idAus; personaG.AusId = idAus; int idPer = VCFramework.NegocioMySql.Persona.Insertar(personaG); personaG.Id = idPer; //nuevo elemento a retornar usuario.AutentificacionUsuario = new AutentificacionUsuario(); usuario.AutentificacionUsuario = ausG; usuario.Persona = new Persona(); usuario.Persona = personaG; usuario.Rol = new Roles(); usuario.Rol = rolG; //todo correcto en la creacion httpResponse = ManejoMensajes.RetornaMensajeCorrecto(httpResponse, usuario, EnumMensajes.Registro_creado_con_exito); //correo de creacion de usuario //revisamos si tiene la capacidad de enviar correo o no if (param.EnviaCorreo == 1) { bool enviar = VCFramework.NegocioMySQL.Utiles.EnviarCorreoCreacionUsuario(correoElectronico, nombreUsuario, password); } } else { //ya existe, error httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, EnumMensajes.Usuario_ya_existe); } } else { //excede el maximo permitido httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, EnumMensajes.Excede_maximo_permitido_de_usuarios); } } else { //esta modificando hay que buscar a la persona VCFramework.Entidad.AutentificacionUsuario aus = VCFramework.NegocioMySql.AutentificacionUsuario.ListarUsuariosPorId(int.Parse(ausId)); VCFramework.Entidad.Persona per = VCFramework.NegocioMySql.Persona.ListarPersonaPorAusId(int.Parse(ausId)); if (aus != null && aus.Id > 0) { //usuario ya existe esta correcto ausG.Id = aus.Id; ausG.FechaCreacion = aus.FechaCreacion; if (password.Length > 0) { ausG.Password = passwordEncript; } else { ausG.Password = aus.Password; } VCFramework.NegocioMySql.AutentificacionUsuario.Modificar(ausG); personaG.Id = per.Id; personaG.AusId = per.AusId; VCFramework.NegocioMySql.Persona.Modificar(personaG); //nuevo elemento a retornar usuario.AutentificacionUsuario = new AutentificacionUsuario(); usuario.AutentificacionUsuario = ausG; usuario.Persona = new Persona(); usuario.Persona = personaG; usuario.Rol = new Roles(); usuario.Rol = rolG; //todo correcto en la creacion httpResponse = ManejoMensajes.RetornaMensajeCorrecto(httpResponse, usuario, EnumMensajes.Registro_modificado_con_exito); } else { //usuario no existe httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, EnumMensajes.Usuario_no_existe); } } } catch (Exception ex) { VCFramework.NegocioMySQL.Utiles.NLogs(ex); httpResponse = ManejoMensajes.RetornaMensajeExcepcion(httpResponse, ex); } } return(httpResponse); }
public HttpResponseMessage Post(dynamic DynamicClass) { HttpResponseMessage httpResponse = new HttpResponseMessage(); string Input = JsonConvert.SerializeObject(DynamicClass); dynamic data = JObject.Parse(Input); //validaciones antes de ejecutar la llamada. if (data.usuario == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Nombre de Usuario"); } else if (data.password == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Password"); } else { try { string usu = data.usuario; string pass = data.password; string password = VCFramework.NegocioMySQL.Utiles.Encriptar(pass); VCFramework.Entidad.AutentificacionUsuario aus = VCFramework.NegocioMySql.AutentificacionUsuario.ListarUsuariosPorNombreUsuario(usu); VCFramework.EntidadFuncional.UsuarioEnvoltorio usuario = new VCFramework.EntidadFuncional.UsuarioEnvoltorio(); if (aus != null && aus.Id > 0) { //verificamos eliminado y activo if (aus.Activo == 1 && aus.Eliminado == 0) { //ahora comparamos la clave if (aus.Password == password) { //buscamos persona VCFramework.Entidad.Persona persona = VCFramework.NegocioMySql.Persona.ListarPersonaPorAusId(aus.Id); if (persona != null && persona.Id > 0) { //buscamos rol VCFramework.Entidad.Roles rol = VCFramework.NegocioMySql.Roles.ListarRolesPorId(aus.RolId); if (rol != null && rol.Id > 0) { //ahora esta todo ok y construimos la data respectiva usuario.AutentificacionUsuario = new AutentificacionUsuario(); usuario.AutentificacionUsuario = aus; usuario.Persona = new Persona(); usuario.Persona = persona; usuario.Rol = new Roles(); usuario.Rol = rol; VCFramework.Entidad.EntidadContratante contratante = VCFramework.NegocioMySql.EntidadContratante.ListarEcolPorId(aus.EcolId); usuario.EntidadContratante = new EntidadContratante(); usuario.EntidadContratante = contratante; VCFramework.Entidad.ParametrosEcol parametros = VCFramework.NegocioMySql.ParametrosEcol.ListarPorEcolId(aus.EcolId); usuario.ParametrosEcol = new ParametrosEcol(); usuario.ParametrosEcol = parametros; httpResponse = ManejoMensajes.RetornaMensajeCorrecto(httpResponse, usuario); } else { httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, EnumMensajes.Sin_Rol_asociado); } } else { httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, EnumMensajes.Sin_persona_asociada); } } else { httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, EnumMensajes.Clave_incorrecta); } } else { //autentificacion inactiva o eliminada httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, EnumMensajes.Inactivo_o_Eliminado); } } else { httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, EnumMensajes.Usuario_no_existe); } } catch (Exception ex) { VCFramework.NegocioMySQL.Utiles.NLogs(ex); httpResponse = ManejoMensajes.RetornaMensajeExcepcion(httpResponse, ex); } } return(httpResponse); }