public HttpResponseMessage Delete(dynamic DynamicClass) { string Input = JsonConvert.SerializeObject(DynamicClass); dynamic data = JObject.Parse(Input); //validaciones antes de ejecutar la llamada. if (data.IdUsuario == 0) { throw new ArgumentNullException("Id"); } HttpResponseMessage httpResponse = new HttpResponseMessage(); try { string idUsuario = data.IdUsuario; int idUsuarioBuscar = int.Parse(idUsuario); VCFramework.Entidad.AutentificacionUsuario aus = VCFramework.NegocioMySQL.AutentificacionUsuario.ObtenerUsuario(idUsuarioBuscar); if (aus != null && aus.Id > 0) { aus.Eliminado = 1; VCFramework.NegocioMySQL.AutentificacionUsuario.ModificarAus(aus); VCFramework.Entidad.Persona persona = VCFramework.NegocioMySQL.Persona.ObtenerPersonaPorUsuId(idUsuarioBuscar); if (persona != null && persona.Id > 0) { persona.Eliminado = 1; VCFramework.NegocioMySQL.Persona.ModificarUsuario(persona); List <VCFramework.EntidadFuncional.UsuarioEnvoltorio> usuarios = VCFramework.NegocioMySQL.AutentificacionUsuario.ListarUsuariosEnvoltorio(aus.InstId); VCFramework.EntidadFuncional.proposalss proposals = new VCFramework.EntidadFuncional.proposalss(); if (usuarios != null && usuarios.Count > 0) { proposals.proposals = new List <VCFramework.EntidadFuncional.UsuarioEnvoltorio>(); proposals.proposals = usuarios; httpResponse = new HttpResponseMessage(HttpStatusCode.OK); String JSON = JsonConvert.SerializeObject(proposals); httpResponse.Content = new StringContent(JSON); httpResponse.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue(VCFramework.NegocioMySQL.Utiles.JSON_DOCTYPE); } else { httpResponse = new HttpResponseMessage(HttpStatusCode.NoContent); } } } } catch (Exception ex) { httpResponse = new HttpResponseMessage(HttpStatusCode.ExpectationFailed); throw 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 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); }
public HttpResponseMessage Put(dynamic DynamicClass) { string Input = JsonConvert.SerializeObject(DynamicClass); dynamic data = JObject.Parse(Input); string idUsuario = data.Id; if (idUsuario == null) { idUsuario = "0"; } int idUsuarioBuscar = int.Parse(idUsuario); //validaciones antes de ejecutar la llamada. VCFramework.Entidad.AutentificacionUsuario aus = VCFramework.NegocioMySQL.AutentificacionUsuario.ObtenerUsuario(idUsuarioBuscar); HttpResponseMessage httpResponse = new HttpResponseMessage(); try { string correo = data.Correo; string nombres = data.Nombres; string primerApellido = data.PrimerApellido; string segundoApellido = data.SegundoApellido; string rut = data.Rut; string telefono = data.Telefono; string idRegion = data.IdRegion; string idComuna = data.IdComuna; string direccion = data.Direccion; string idRol = data.IdRol; string nombreUsuario = data.NombreUsuario; string password = data.Password; string instId = data.InstId; if (aus == null) { aus = new VCFramework.Entidad.AutentificacionUsuario(); } if (aus != null) { int nuevoId = 0; if (aus.Id == 0) { aus.NombreUsuario = nombreUsuario; } aus.CorreoElectronico = correo; aus.RolId = int.Parse(idRol); aus.InstId = int.Parse(instId); aus.EsVigente = 1; if (password != "") { aus.Password = VCFramework.NegocioMySQL.Utiles.Encriptar(password); } if (aus.Id == 0) { nuevoId = VCFramework.NegocioMySQL.AutentificacionUsuario.InsertarAus(aus); } else { nuevoId = aus.Id; VCFramework.NegocioMySQL.AutentificacionUsuario.ModificarAus(aus); } VCFramework.Entidad.Persona persona = VCFramework.NegocioMySQL.Persona.ObtenerPersonaPorUsuId(idUsuarioBuscar); if (persona == null) { persona = new VCFramework.Entidad.Persona(); } if (persona != null) { persona.ApellidoMaterno = segundoApellido; persona.ApellidoPaterno = primerApellido; persona.ComId = int.Parse(idComuna); persona.DireccionCompleta = direccion; persona.Nombres = nombres; persona.RegId = int.Parse(idRegion); persona.Rut = rut; persona.Telefonos = telefono; persona.InstId = int.Parse(instId); persona.UsuId = nuevoId; VCFramework.NegocioMySQL.Persona.ModificarUsuario(persona); httpResponse = new HttpResponseMessage(HttpStatusCode.OK); String JSON = JsonConvert.SerializeObject(persona); httpResponse.Content = new StringContent(JSON); httpResponse.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue(VCFramework.NegocioMySQL.Utiles.JSON_DOCTYPE); } } } catch (Exception ex) { httpResponse = new HttpResponseMessage(HttpStatusCode.ExpectationFailed); throw ex; } return(httpResponse); }