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);
        }
Example #2
0
        public HttpResponseMessage Post(dynamic DynamicClass)
        {
            string Input = JsonConvert.SerializeObject(DynamicClass);

            dynamic data = JObject.Parse(Input);


            string buscarNombreUsuario = "";

            if (data.BuscarId != null)
            {
                buscarNombreUsuario = data.BuscarId;
            }

            //validaciones antes de ejecutar la llamada.
            if (data.IdUsuario == 0)
            {
                throw new ArgumentNullException("IdUsuario");
            }


            HttpResponseMessage httpResponse = new HttpResponseMessage();

            try
            {
                string idUsuario       = data.IdUsuario;
                int    idUsuarioBuscar = int.Parse(idUsuario);

                VCFramework.EntidadFuncional.proposalss establecimientos = new VCFramework.EntidadFuncional.proposalss();
                establecimientos.proposals = new List <VCFramework.EntidadFuncional.UsuarioEnvoltorio>();

                List <VCFramework.Entidad.Institucion> instituciones = VCFramework.NegocioMySQL.Institucion.ListarInstitucionesSinCache();

                if (buscarNombreUsuario != "")
                {
                    instituciones = instituciones.FindAll(p => p.Nombre == buscarNombreUsuario);
                }

                if (instituciones != null && instituciones.Count > 0)
                {
                    foreach (VCFramework.Entidad.Institucion insti in instituciones)
                    {
                        VCFramework.EntidadFuncional.UsuarioEnvoltorio us = new VCFramework.EntidadFuncional.UsuarioEnvoltorio();
                        us.Id             = insti.Id;
                        us.NombreCompleto = insti.Nombre;
                        us.Url            = insti.Url;
                        us.UrlEliminar    = insti.UrlEliminar;
                        establecimientos.proposals.Add(us);
                    }
                    //establecimientos.Establecimientos = instituciones;
                }

                httpResponse = new HttpResponseMessage(HttpStatusCode.OK);
                String JSON = JsonConvert.SerializeObject(establecimientos);
                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);
        }
Example #3
0
        public HttpResponseMessage Post(dynamic DynamicClass)
        {
            string Input = JsonConvert.SerializeObject(DynamicClass);

            dynamic data = JObject.Parse(Input);

            string buscarNombreUsuario = "";

            if (data.BuscarId != null)
            {
                buscarNombreUsuario = data.BuscarId;
            }

            //validaciones antes de ejecutar la llamada.
            if (data.InstId == 0)
            {
                throw new ArgumentNullException("InstId");
            }


            HttpResponseMessage httpResponse = new HttpResponseMessage();

            try
            {
                string instId       = data.InstId;
                int    instIdBuscar = int.Parse(instId);

                VCFramework.EntidadFuncional.proposalss votaciones = new VCFramework.EntidadFuncional.proposalss();
                votaciones.proposals = new List <VCFramework.EntidadFuncional.UsuarioEnvoltorio>();

                List <VCFramework.Entidad.Tricel> triceles = VCFramework.NegocioMySQL.Tricel.ObtenerTricelPorInstIdTodos(instIdBuscar);

                if (buscarNombreUsuario != "")
                {
                    if (VCFramework.NegocioMySQL.Utiles.IsNumeric(buscarNombreUsuario))
                    {
                        triceles = triceles.FindAll(p => p.Id == int.Parse(buscarNombreUsuario));
                    }
                    else
                    {
                        triceles = triceles.FindAll(p => p.Nombre == buscarNombreUsuario);
                    }
                }


                if (triceles != null && triceles.Count > 0)
                {
                    foreach (VCFramework.Entidad.Tricel tri in triceles)
                    {
                        VCFramework.EntidadFuncional.UsuarioEnvoltorio us = new VCFramework.EntidadFuncional.UsuarioEnvoltorio();
                        us.Id             = tri.Id;
                        us.NombreCompleto = tri.Objetivo;
                        us.NombreUsuario  = tri.Nombre;
                        us.OtroUno        = tri.FechaInicio.ToShortDateString();
                        us.OtroDos        = tri.FechaTermino.ToShortDateString();
                        us.OtroTres       = tri.FechaCreacion.ToShortDateString();
                        //cantidad de listas asociadas al tricel
                        List <VCFramework.Entidad.ListaTricel> listas = VCFramework.NegocioMySQL.ListaTricel.ObtenerListaPorInstId(instIdBuscar);
                        us.OtroCuatro = listas.Count.ToString();
                        //us.UrlDocumento = insti.UrlDocumento;

                        us.Url         = "CrearModificarVotacion.aspx?id=" + us.Id.ToString() + "&ELIMINAR=0";
                        us.UrlEliminar = "CrearModificarVotacion.aspx?id=" + us.Id.ToString() + "&ELIMINAR=1";
                        //string urlll = Request.RequestUri.GetLeftPart(UriPartial.Authority) + "/Repositorio/";
                        //if (us.UrlDocumento != null && us.UrlDocumento != "" && us.UrlDocumento != "#")
                        //    us.Rol = urlll + us.UrlDocumento;
                        //else
                        //    us.Rol = "#";


                        votaciones.proposals.Add(us);
                    }
                    //establecimientos.Establecimientos = instituciones;
                }

                httpResponse = new HttpResponseMessage(HttpStatusCode.OK);
                String JSON = JsonConvert.SerializeObject(votaciones);
                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);
        }
Example #4
0
        public HttpResponseMessage UploadFile(dynamic DynamicClass)
        {
            string  input = "";
            dynamic data  = null;

            if (DynamicClass != null)
            {
                input = JsonConvert.SerializeObject(DynamicClass);
            }
            else
            {
                input = HttpContext.Current.Request.Form["documento"];
            }


            data = JObject.Parse(input);

            var    httpPostedFile = HttpContext.Current.Request.Files["UploadedImage"];
            string instId         = data.InstId;

            if (instId == null)
            {
                instId = "0";
            }
            int idBuscar = int.Parse(instId);

            string usuId = data.UsuId;

            if (usuId == null)
            {
                usuId = "0";
            }


            //validaciones antes de ejecutar la llamada.

            VCFramework.Entidad.DocumentosUsuario entidad = new VCFramework.Entidad.DocumentosUsuario();
            HttpResponseMessage httpResponse = new HttpResponseMessage();

            try
            {
                if (httpPostedFile != null)
                {
                    //guardamos el registro
                    #region tratamiento del archivo
                    string resultExtension = Path.GetExtension(httpPostedFile.FileName);
                    string resultFileName  = Path.ChangeExtension(httpPostedFile.FileName, resultExtension);
                    string resultFileUrl   = UploadDirectory + resultFileName;
                    string fechaSubida     = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString();
                    string urlExtension    = "";
                    switch (resultExtension)
                    {
                    case ".jpg":
                    case ".jpeg":
                        urlExtension = UploadDirectoryImg + "jpeg.png";
                        break;

                    case ".gif":
                        urlExtension = UploadDirectoryImg + "gif.png";
                        break;

                    case ".png":
                        urlExtension = UploadDirectoryImg + "png.png";
                        break;

                    case ".doc":
                    case ".docx":
                        urlExtension = UploadDirectoryImg + "word.png";
                        break;

                    case ".xls":
                    case ".xlsx":
                        urlExtension = UploadDirectoryImg + "excel.png";
                        break;

                    case ".pdf":
                        urlExtension = UploadDirectoryImg + "pdf.png";
                        break;
                    }

                    string name            = httpPostedFile.FileName;
                    long   sizeInKilobytes = httpPostedFile.ContentLength / 1024;
                    string sizeText        = sizeInKilobytes.ToString() + " KB";
                    #endregion

                    //guardamos el registro
                    #region guardado registro
                    entidad.Borrado       = false;
                    entidad.Eliminado     = 0;
                    entidad.Extension     = resultExtension;
                    entidad.FechaSubida   = fechaSubida;
                    entidad.Id            = 0;
                    entidad.InstId        = int.Parse(instId);
                    entidad.Modificado    = false;
                    entidad.NombreArchivo = httpPostedFile.FileName;
                    entidad.Nuevo         = true;
                    entidad.Tamano        = int.Parse(sizeInKilobytes.ToString());
                    entidad.UsuId         = int.Parse(usuId);
                    entidad.Url           = "";
                    VCFramework.NegocioMySQL.DocumentosUsuario.Insertar(entidad);
                    #endregion

                    var fileSavePath = Path.Combine(HttpContext.Current.Server.MapPath("~/Repositorio"), httpPostedFile.FileName);

                    httpPostedFile.SaveAs(fileSavePath);
                }


                //construimos el retorno
                #region retorno
                List <VCFramework.Entidad.DocumentosUsuario> documentos  = VCFramework.NegocioMySQL.DocumentosUsuario.ObtenerDocumentosPorInstIdNuevo(idBuscar);
                VCFramework.EntidadFuncional.proposalss      documentosE = new VCFramework.EntidadFuncional.proposalss();
                documentosE.proposals = new List <VCFramework.EntidadFuncional.UsuarioEnvoltorio>();

                if (documentos != null && documentos.Count > 0)
                {
                    foreach (VCFramework.Entidad.DocumentosUsuario doc in documentos)
                    {
                        VCFramework.EntidadFuncional.UsuarioEnvoltorio entidadS = new VCFramework.EntidadFuncional.UsuarioEnvoltorio();
                        entidadS.Id             = doc.Id;
                        entidadS.NombreCompleto = doc.NombreArchivo;
                        entidadS.NombreUsuario  = doc.FechaSubida;
                        entidadS.OtroUno        = doc.Tamano.ToString() + " Kb";
                        //HttpContext.Current.Server.MapPath("~/Repositorio")
                        string urlll = Request.RequestUri.GetLeftPart(UriPartial.Authority) + "/Repositorio/";
                        if (doc.NombreArchivo != null && doc.NombreArchivo != "")
                        {
                            entidadS.Url = urlll + doc.NombreArchivo;
                        }
                        else
                        {
                            entidadS.Url = "#";
                        }


                        entidadS.UrlEliminar = "EliminarDocumento.html?id=" + entidadS.Id.ToString();

                        documentosE.proposals.Add(entidadS);
                    }
                }
                #endregion

                httpResponse = new HttpResponseMessage(HttpStatusCode.OK);
                String JSON = JsonConvert.SerializeObject(documentosE);
                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);
        }
        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)
        {
            string Input = JsonConvert.SerializeObject(DynamicClass);

            dynamic data = JObject.Parse(Input);


            string buscarNombreUsuario = "";

            if (data.BuscarId != null)
            {
                buscarNombreUsuario = data.BuscarId;
            }

            //validaciones antes de ejecutar la llamada.
            if (data.InstId == 0)
            {
                throw new ArgumentNullException("InstId");
            }


            HttpResponseMessage httpResponse = new HttpResponseMessage();

            try
            {
                string instId       = data.InstId;
                int    instIdBuscar = int.Parse(instId);

                VCFramework.EntidadFuncional.proposalss rendiciones = new VCFramework.EntidadFuncional.proposalss();
                rendiciones.proposals = new List <VCFramework.EntidadFuncional.UsuarioEnvoltorio>();

                List <VCFramework.EntidadFuniconal.IngresoEgresoFuncional> instituciones = VCFramework.NegocioMySQL.IngresoEgreso.ObtenerIngresoEgresoPorInstId(instIdBuscar);

                if (buscarNombreUsuario != "")
                {
                    if (VCFramework.NegocioMySQL.Utiles.IsNumeric(buscarNombreUsuario))
                    {
                        instituciones = instituciones.FindAll(p => p.Id == int.Parse(buscarNombreUsuario));
                    }
                    else
                    {
                        instituciones = instituciones.FindAll(p => p.Detalle == buscarNombreUsuario);
                    }
                }
                if (instituciones != null && instituciones.Count > 0)
                {
                    foreach (VCFramework.EntidadFuniconal.IngresoEgresoFuncional insti in instituciones)
                    {
                        VCFramework.EntidadFuncional.UsuarioEnvoltorio us = new VCFramework.EntidadFuncional.UsuarioEnvoltorio();
                        us.Id             = insti.Id;
                        us.NombreCompleto = insti.Detalle;
                        us.NombreUsuario  = insti.FechaMovimiento.ToShortDateString();
                        us.OtroUno        = insti.TipoMovimientoString;
                        us.OtroDos        = insti.NumeroComprobante;
                        us.OtroTres       = insti.Monto.ToString();
                        us.UrlDocumento   = insti.UrlDocumento;
                        us.Url            = "CrearModificarIngresoEgreso.html?id=" + us.Id.ToString() + "&ELIMINAR=0";
                        us.UrlEliminar    = "CrearModificarIngresoEgreso.html?id=" + us.Id.ToString() + "&ELIMINAR=1";
                        string urlll = Request.RequestUri.GetLeftPart(UriPartial.Authority) + "/Repositorio/";
                        if (us.UrlDocumento != null && us.UrlDocumento != "" && us.UrlDocumento != "#")
                        {
                            us.Rol = urlll + us.UrlDocumento;
                        }
                        else
                        {
                            us.Rol = "#";
                        }


                        rendiciones.proposals.Add(us);
                    }
                    //establecimientos.Establecimientos = instituciones;
                }

                httpResponse = new HttpResponseMessage(HttpStatusCode.OK);
                String JSON = JsonConvert.SerializeObject(rendiciones);
                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);
        }
Example #9
0
        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);
        }