示例#1
0
        public HttpResponseMessage GetPerfilesByUsuario()
        {
            RespondModel respondModel = new RespondModel();
            ResponseMsj  responseMsj  = new ResponseMsj();

            var perfiles = perfilesLogic.GetPerfilesByUsuario(UsuarioWebApi.UserId);

            var perfilresponse = perfiles.Select(x => new GetPerfilesByUsuarioRespond
            {
                Id             = x.Id,
                UsuariosId     = x.UsuariosId,
                Nombre         = x.Nombre,
                Apellido       = x.Apellido,
                DescPerfil     = x.DescPerfil,
                DescTipoPerfil = x.TipoPerfil.DescTipoPerfil,
                TipoPerfilId   = x.TipoPerfilId
            });

            if (perfiles.Count > 0)
            {
                return(responseMsj.CreateJsonResponse(perfilresponse, HttpStatusCode.OK));
            }
            else
            {
                respondModel.SetResponse(false, "Sin Perfiles definidos");
                return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.NotFound));
            }
        }
示例#2
0
        public HttpResponseMessage ResendCodigoValidacionEmailUsuario()
        {
            RespondModel respondModel = new RespondModel();

            ResponseMsj responseMsj = new ResponseMsj();

            try
            {
                var Usuario = userlogic.GetUsuariosPorUserName(UsuarioWebApi.Email);

                var codigoValidacion = codigoValidacionUsuarioLogic.GenerarCodigoValidacionEmailUsuario(Usuario.Id, util.GetKey, util.GetIV);

                if (codigoValidacion == string.Empty)
                {
                    respondModel.SetResponse(false, "Error al generar Pin de Validación");
                    return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest));
                }
                string MessageBody = System.IO.File.ReadAllText(System.Web.HttpContext.Current.Request.MapPath("~\\Content\\email.html"));
                MessageBody = MessageBody.Replace("**To**", Usuario.Email);
                MessageBody = MessageBody.Replace("**Codigo**", codigoValidacion);
                MessageBody = MessageBody.Replace("**Anio**", DateTime.Now.Year.ToString());

                mailer.SendMail(Usuario.Email, "Confirmación de usuario", MessageBody);

                return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.OK));
            }
            catch (Exception ex)
            {
                return(responseMsj.CreateJsonResponse(ex.Message, HttpStatusCode.BadRequest));
            }
        }
示例#3
0
        public HttpResponseMessage GetAllUser()
        {
            ResponseMsj responseMsj = new ResponseMsj();
            var         usuarios    = userlogic.GetAllUsuarios();

            return(responseMsj.CreateJsonResponse(usuarios, HttpStatusCode.OK));
        }
        public HttpResponseMessage GetDireccionBy_Id_PerfilId(GetDireccionBy_Id_PerfilId_Request request)
        {
            ResponseMsj  responseMsj  = new ResponseMsj();
            RespondModel respondModel = new RespondModel();

            GetDireccionesByPerfil direccion = new GetDireccionesByPerfil();

            try
            {
                var direcciones = direccionesLogic.GetDireccionBy_Id_PerfilId(request.Id, request.PerfilId);
                direccion.Id        = direcciones.Id;
                direccion.PerfilId  = direcciones.PerfilId == 0?request.PerfilId: direcciones.PerfilId;
                direccion.Direccion = direcciones.Direccion;
                direccion.latitud   = direcciones.latitud;
                direccion.longitud  = direcciones.longitud;

                if (direcciones.Telefonos_Direccion != null)
                {
                    foreach (var item in direcciones.Telefonos_Direccion)
                    {
                        direccion.Telefono_Direccion.Add(new Telefono_Direccion {
                            Id = item.Id, DireccionId = item.DireccionId, Telefono = item.Telefono, DescTelefono = item.DescTelefono
                        });
                    }
                }


                return(responseMsj.CreateJsonResponse(direccion, HttpStatusCode.OK));
            }
            catch (Exception ex)
            {
                return(responseMsj.CreateJsonResponse(ex.Message, HttpStatusCode.BadRequest));
            }
        }
        public HttpResponseMessage GetDireccionesByPerfil(GetPerfilUsuarioByTipoPerfil request)
        {
            ResponseMsj  responseMsj  = new ResponseMsj();
            RespondModel respondModel = new RespondModel();

            List <GetDireccionesByPerfil> lista = new List <GetDireccionesByPerfil>();

            try
            {
                var perfil = perfilesLogic.GetPerfilByUsuarioTipoPerfil(request.TipoPerfilId, UsuarioWebApi.UserId);


                if (perfil == null)
                {
                    respondModel.SetResponse(false, "No existe ningun perfil de este tipo para el usuario indicado");
                    return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.NotFound));
                }
                lista = direccionesLogic.GetDireccionesByPerfil(perfil.Id).Select(x => new GetDireccionesByPerfil {
                    Id = x.Id, PerfilId = x.PerfilId, Direccion = x.Direccion, latitud = x.latitud, longitud = x.longitud
                }).ToList();
                return(responseMsj.CreateJsonResponse(new GetDireccionesByPerfilRespond {
                    Direcciones = lista, PerfilId = perfil.Id
                }, HttpStatusCode.OK));
            }
            catch (Exception ex)
            {
                respondModel.SetResponse(false, ex.Message);
                return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest));
            }
        }
示例#6
0
        public HttpResponseMessage SaveCategoríaByPerfilIdSelected(SaveCategoríaByPerfilIdSelectedrequest request)
        {
            RespondModel respondModel = new RespondModel();

            ResponseMsj responseMsj = new ResponseMsj();

            try
            {
                /*Se obtiene el perfil*/
                var perfil = perfilesLogic.GetPerfilByUsuarioTipoPerfil(request.TipoPerfilId, UsuarioWebApi.UserId);
                /*Se obtiene el perfil*/

                var listint = request.SaveCategoríaByPerfilIdSelected.Select(x => x.CategoriaTipoPerfilId).ToList();


                respondModel = perfiles_CategoriaTipoPerfilLogic.GuardarCategoriasMasivo(perfil.Id, listint);

                if (!respondModel.response)
                {
                    return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest));
                }

                return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.OK));

                ///*Se eliminan todos las categorias relacionadas*/
                //respondModel = perfiles_CategoriaTipoPerfilLogic.EliminarAllCategoriaPerfil(perfil.Id);
                //if (!respondModel.response)
                //{
                //    respondModel.SetResponse(false, respondModel.mensaje);
                //    return responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest);
                //}

                ///*Se eliminan todos las categorias relacionadas*/



                ///*Se asocian las categorias seleccionas*/
                //List<string> errores = new List<string>();
                //foreach (var item in request.SaveCategoríaByPerfilIdSelected)
                //{
                //    respondModel = perfiles_CategoriaTipoPerfilLogic.Guardar(new Perfiles_CategoriaTipoPerfil { PerfilesId = perfil.Id, CategoriaTipoPerfilId = item.CategoriaTipoPerfilId });
                //    if (!respondModel.response) {
                //        errores.Add(respondModel.mensaje);
                //    }
                //}
                ///*Se asocian las categorias seleccionas*/
                ///


                return(responseMsj.CreateJsonResponse("OK", HttpStatusCode.OK));
            }
            catch (Exception)
            {
                return(responseMsj.CreateJsonResponse("Error", HttpStatusCode.OK));
            }
        }
示例#7
0
        public HttpResponseMessage EmailConfirmacion(EmailConfirmacionRequest request)
        {
            RespondModel respondModel = new RespondModel();
            ResponseMsj  responseMsj  = new ResponseMsj();

            try
            {
                if (!ModelState.IsValid)
                {
                    var ErrorList = ModelState.Keys
                                    .SelectMany(key => ModelState[key].Errors.Select(x => new { Error = key + " " + x.ErrorMessage })
                                                .ToList());

                    respondModel.SetResponse(false, string.Join("\n", ErrorList.Select(x => x.Error).ToList()));

                    return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest));
                }
                var responloging = userlogic.ValidatePasswordUser(request.Email, request.Password, util.GetKey, util.GetIV);

                if (!responloging.response)
                {
                    return(responseMsj.CreateJsonResponse(responloging, HttpStatusCode.BadRequest));
                }

                /*Se  obtiene el usuario*/
                var Usuario = userlogic.GetUsuariosPorUserName(request.Email);
                /*Se  obtiene el usuario*/

                /*Se  obtiene el codigo de validación del usuario*/
                var CodigoVal = codigoValidacionUsuarioLogic.GetCodigoValidacionEmailByUsuario(Usuario.Id);
                /*Se  obtiene el codigo de validación del usuario*/

                if (CodigoVal.Codigo != request.Codigo)
                {
                    respondModel.SetResponse(false, "El codigo de validación no coincide");
                    return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest));
                }

                if (CodigoVal.FechaExpiracion < DateTime.Now)
                {
                    respondModel.SetResponse(false, "El codigo de validación no coincide");
                    return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest));
                }



                var EmailConfirmed = userlogic.EmailConfirmacion(Usuario.Id);

                return(responseMsj.CreateJsonResponse(EmailConfirmed, EmailConfirmed.response ? HttpStatusCode.OK : HttpStatusCode.BadRequest));
            }
            catch (Exception ex)
            {
                return(responseMsj.CreateJsonResponse(ex.Message, HttpStatusCode.BadRequest));
            }
        }
        public HttpResponseMessage GetAllTelefonosByDireccionId(int DireccionId)
        {
            ResponseMsj responseMsj          = new ResponseMsj();
            List <Telefonos_Direccion> lista = new List <Telefonos_Direccion>();

            try
            {
                lista = _telefonoDireccionLogic.GetAllTelefonosByDireccionId(DireccionId);
                return(responseMsj.CreateJsonResponse(lista, HttpStatusCode.OK));
            }
            catch (Exception ex)
            {
                return(responseMsj.CreateJsonResponse(ex.Message, HttpStatusCode.BadRequest));
            }
        }
        public HttpResponseMessage GetAllDirecciones()
        {
            ResponseMsj        responseMsj = new ResponseMsj();
            List <Direcciones> lista       = new List <Direcciones>();

            try
            {
                lista = direccionesLogic.GetAllDirecciones();
                return(responseMsj.CreateJsonResponse(lista, HttpStatusCode.OK));
            }
            catch (Exception ex)
            {
                return(responseMsj.CreateJsonResponse(ex.Message, HttpStatusCode.BadRequest));
            }
        }
示例#10
0
        public HttpResponseMessage RegistrarPerfil(PerfilesViewModelRequest request)
        {
            RespondModel respondModel = new RespondModel();

            ResponseMsj responseMsj = new ResponseMsj();

            if (!ModelState.IsValid)
            {
                //var ErrorList = ModelState.Keys
                //.SelectMany(key => ModelState[key].Errors.Select(x => new { Error = key + " " + x.ErrorMessage })
                //.ToList());

                var ErrorList = ModelState.Keys
                                .SelectMany(key => ModelState[key].Errors.Select(x => new { Error = x.ErrorMessage })
                                            .ToList());

                respondModel.SetResponse(false, string.Join("\n", ErrorList.Select(x => x.Error).ToList()));

                return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest));
            }
            else
            {
                Perfiles perfil = new Perfiles {
                    Id           = request.Id, Nombre = request.Nombre, Apellido = request.Apellido, DescPerfil = request.DescPerfil,
                    TipoPerfilId = request.TipoPerfilId, UsuariosId = UsuarioWebApi.UserId
                };


                respondModel = perfilesLogic.Guardar(perfil);


                if (!respondModel.response)
                {
                    return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest));
                }

                /*Creando codigo de validacion*/



                return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.OK));
            }
        }
示例#11
0
        public HttpResponseMessage GetPerfilUsuarioByTipoPerfil(GetPerfilUsuarioByTipoPerfil request)
        {
            RespondModel respondModel = new RespondModel();
            ResponseMsj  responseMsj  = new ResponseMsj();

            if (!ModelState.IsValid)
            {
                //var ErrorList = ModelState.Keys
                //.SelectMany(key => ModelState[key].Errors.Select(x => new { Error = key + " " + x.ErrorMessage })
                //.ToList());

                var ErrorList = ModelState.Keys
                                .SelectMany(key => ModelState[key].Errors.Select(x => new { Error = x.ErrorMessage })
                                            .ToList());

                respondModel.SetResponse(false, string.Join("\n", ErrorList.Select(x => x.Error).ToList()));

                return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest));
            }
            else
            {
                var perfil = perfilesLogic.GetPerfilByUsuarioTipoPerfil(request.TipoPerfilId, UsuarioWebApi.UserId);


                if (perfil == null)
                {
                    respondModel.SetResponse(false, "No existe ningun perfil de este tipo para el usuario indicado");
                    return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.NotFound));
                }


                /*Creando codigo de validacion*/



                return(responseMsj.CreateJsonResponse(perfil, HttpStatusCode.OK));
            }
        }
        public HttpResponseMessage Guardar(TelefonoDireccionRequest request)
        {
            ResponseMsj responseMsj = new ResponseMsj();

            try
            {
                var response = _telefonoDireccionLogic.Eliminar(new Telefonos_Direccion {
                    Id = request.Id, DireccionId = request.DireccionId, Telefono = request.Telefono, DescTelefono = request.DescTelefono
                });

                if (!response.response)
                {
                    return(responseMsj.CreateJsonResponse(response, HttpStatusCode.OK));
                }
                else
                {
                    return(responseMsj.CreateJsonResponse(response, HttpStatusCode.BadRequest));
                }
            }
            catch (Exception ex)
            {
                return(responseMsj.CreateJsonResponse(ex.Message, HttpStatusCode.BadRequest));
            }
        }
示例#13
0
        public HttpResponseMessage GuardarDireccion(GetDireccionesByPerfil model)
        {
            ResponseMsj responseMsj = new ResponseMsj();

            try
            {
                var response = direccionesLogic.Guardar(new Direcciones {
                    Id = model.Id, PerfilId = model.PerfilId, Direccion = model.Direccion, latitud = model.latitud, longitud = model.longitud
                });

                if (!response.response)
                {
                    return(responseMsj.CreateJsonResponse(response, HttpStatusCode.OK));
                }
                else
                {
                    return(responseMsj.CreateJsonResponse(response, HttpStatusCode.BadRequest));
                }
            }
            catch (Exception ex)
            {
                return(responseMsj.CreateJsonResponse(ex.Message, HttpStatusCode.BadRequest));
            }
        }
示例#14
0
        public HttpResponseMessage GetAllCategoríaByPerfilIdSelected(GetCategoríaPorTipoPerfilIdRequest request)
        {
            RespondModel respondModel = new RespondModel();

            ResponseMsj responseMsj = new ResponseMsj();

            if (!ModelState.IsValid)
            {
                //var ErrorList = ModelState.Keys
                //.SelectMany(key => ModelState[key].Errors.Select(x => new { Error = key + " " + x.ErrorMessage })
                //.ToList());

                var ErrorList = ModelState.Keys
                                .SelectMany(key => ModelState[key].Errors.Select(x => new { Error = x.ErrorMessage })
                                            .ToList());

                respondModel.SetResponse(false, string.Join("\n", ErrorList.Select(x => x.Error).ToList()));

                return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest));
            }
            else
            {
                /*Se obtiene todas las categorias disponibles*/
                var lista = CategoriaTipoPerfil.GetCategoríaPorTipoPerfilId(request.TipoPerfilId);
                /*Se obtiene todas las categorias disponibles*/

                /*Se obtiene el perfil*/
                var perfil = perfilesLogic.GetPerfilByUsuarioTipoPerfil(request.TipoPerfilId, UsuarioWebApi.UserId);
                /*Se obtiene el perfil*/

                /*Se obtiene las categorias seleccionadas del perfil del usuario*/
                var ListaCategoriaSelected = perfiles_CategoriaTipoPerfilLogic.GetPerfiles_CategoriaTipoPerfilByPerfilId(perfil.Id);
                /*Se obtiene las categorias seleccionadas del perfil del usuario*/

                List <GetCategoríaPorTipoPerfilIdRespond> listarespond = new List <GetCategoríaPorTipoPerfilIdRespond>();
                foreach (var item in lista.Where(x => x.CategoriaParentId == null).ToList())
                {
                    GetCategoríaPorTipoPerfilIdRespond obj = new GetCategoríaPorTipoPerfilIdRespond {
                        Id = item.Id, Nombre = item.Nombre, DesCategoria = item.DesCategoria
                    };

                    if (item.HijosCategoria != null)
                    {
                        foreach (var item2 in item.HijosCategoria)
                        {
                            GetCategoríaPorTipoPerfilIdRespond objchild = new GetCategoríaPorTipoPerfilIdRespond {
                                Id = item2.Id, Nombre = item2.Nombre, DesCategoria = item2.DesCategoria, Selected = ListaCategoriaSelected.Any(s => s.CategoriaTipoPerfilId == item2.Id)
                            };
                            obj.CategoriaHijos.Add(objchild);
                        }
                    }

                    listarespond.Add(obj);
                }
                GetCategoríaPorTipoPerfilIdRespond1 responese = new GetCategoríaPorTipoPerfilIdRespond1();
                responese.Categorias = listarespond;
                //if (!respondModel.response)
                //    return responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest);

                /*Creando codigo de validacion*/



                return(responseMsj.CreateJsonResponse(responese, HttpStatusCode.OK));
            }
        }
示例#15
0
        public HttpResponseMessage RegistrarUsuario(RegistroUsuarioModelRequest request)
        {
            RespondModel respondModel = new RespondModel();

            ResponseMsj responseMsj = new ResponseMsj();

            if (!ModelState.IsValid)
            {
                //var ErrorList = ModelState.Keys
                //.SelectMany(key => ModelState[key].Errors.Select(x => new { Error = key + " " + x.ErrorMessage })
                //.ToList());

                var ErrorList = ModelState.Keys
                                .SelectMany(key => ModelState[key].Errors.Select(x => new { Error = x.ErrorMessage })
                                            .ToList());

                respondModel.SetResponse(false, string.Join("\n", ErrorList.Select(x => x.Error).ToList()));

                return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest));
            }
            else
            {
                var perfil = perfilseg.GetPerfilbyId(1);

                var ValidPassword = CheckPassword(request.Password, perfil.LenMinPass, perfil.CantLetrasMin, perfil.CantLetrasMayMin, perfil.CantNumeroMin, perfil.CantCharEspecialMin);



                if (!ValidPassword.IsValid)
                {
                    respondModel.SetResponse(false, string.Join("\n", ValidPassword.Mensajes));

                    return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest));
                }

                respondModel = userlogic.RegistrarUsuario(new Entidades.Usuarios {
                    Email = request.Email, Password = util.encriptar(request.Password)
                });

                if (!respondModel.response)
                {
                    return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest));
                }

                /*Creando codigo de validacion*/

                var Usuario = userlogic.GetUsuariosPorUserName(request.Email);

                var codigoValidacion = codigoValidacionUsuarioLogic.GenerarCodigoValidacionEmailUsuario(Usuario.Id, util.GetKey, util.GetIV);

                if (codigoValidacion == string.Empty)
                {
                    respondModel.SetResponse(false, "Error al generar Pin de Validación");
                    return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest));
                }

                //string MessageBody = System.IO.File.ReadAllText(System.Web.HttpContext.Current.Request.MapPath("~\\Content\\index.htm")) ;
                string MessageBody = System.IO.File.ReadAllText(System.Web.HttpContext.Current.Request.MapPath("~\\Content\\email.html"));
                MessageBody = MessageBody.Replace("**To**", Usuario.Email);
                MessageBody = MessageBody.Replace("**Codigo**", codigoValidacion);
                MessageBody = MessageBody.Replace("**Anio**", DateTime.Now.Year.ToString());

                //mailer.SendMail(Usuario.Email, "Confirmaci&#243;n de usuario", MessageBody);
                //mailer.SendMail(Usuario.Email, "Confirmaci&oacute;n de usuario", MessageBody);
                mailer.SendMail(Usuario.Email, "Confirmación de usuario", MessageBody);
                //mailer.EnviarCorreoGmailAccesTokenAsync("*****@*****.**", "NJIFYUjss1OwfQNFXvWSWr6l", Usuario.Email,"Codigo de Activación de Cuenta", codigoValidacion);

                return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.OK));
            }
        }
示例#16
0
        public HttpResponseMessage ChangePassworduser(ChangeUserPasswordRequest request)
        {
            RespondModel respondModel = new RespondModel();
            ResponseMsj  responseMsj  = new ResponseMsj();

            try
            {
                if (!ModelState.IsValid)
                {
                    var ErrorList = ModelState.Keys
                                    .SelectMany(key => ModelState[key].Errors.Select(x => new { Error = key + " " + x.ErrorMessage })
                                                .ToList());

                    respondModel.SetResponse(false, string.Join("\n", ErrorList.Select(x => x.Error).ToList()));

                    return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest));
                }
                else
                {
                    /*Se  valida la contraseña actual*/

                    var responloging = userlogic.ValidatePasswordUser(request.Email, request.OldPassword, util.GetKey, util.GetIV);
                    /*Se  valida la contraseña actual*/

                    if (!responloging.response)
                    {
                        return(responseMsj.CreateJsonResponse(responloging, HttpStatusCode.BadRequest));
                    }
                    /*Se  obtiene el usuario*/

                    var Usuario = userlogic.GetUsuariosPorUserName(request.Email);
                    /*Se  obtiene el usuario*/

                    /*Se  obtiene el perfil del usuario*/

                    var perfil = perfilseg.GetPerfilbyId(Usuario.IdPerfilSeguridad);
                    /*Se  obtiene el perfil del usuario*/

                    /*Se valida que la nueva contraseña cumpla con los requsitos del perfil*/
                    var ValidPassword = CheckPassword(request.NewPassword, perfil.LenMinPass, perfil.CantLetrasMin, perfil.CantLetrasMayMin, perfil.CantNumeroMin, perfil.CantCharEspecialMin);
                    if (!ValidPassword.IsValid)
                    {
                        respondModel.SetResponse(false, string.Join("\n", ValidPassword.Mensajes));

                        return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest));
                    }
                    /*Se valida que la nueva contraseña cumpla con los requsitos del perfil*/

                    /*Se actualiza la nueva contraseña*/
                    Usuario.Password = util.encriptar(request.NewPassword);

                    /*Se guardan los cambios*/
                    respondModel = userlogic.Guardar(Usuario);
                    /*Se guardan los cambios*/


                    if (!respondModel.response)
                    {
                        return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest));
                    }

                    return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.OK));
                }
            }
            catch (Exception ex)
            {
                return(responseMsj.CreateJsonResponse(ex.Message, HttpStatusCode.BadRequest));
            }
        }