예제 #1
0
        public BaseResponse <string> compararPassword(string clave, int user)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            try
            {
                using (MesaDineroContext context = new MesaDineroContext())
                {
                    Tb_MD_Mae_Usuarios usuario = context.Tb_MD_Mae_Usuarios.FirstOrDefault(x => x.iIdUsuario == user);

                    if (!usuario.vPassword.Equals(clave))
                    {
                        throw new Exception("El password es incorrecto.");
                    }
                }

                result.success = true;
            }
            catch (Exception ex)
            {
                result.error   = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                result.ex      = ex;
                result.success = false;
            }

            return(result);
        }
예제 #2
0
        public BaseResponse <string> CambioPasswordXCorreoAdmin(string secredId, string password)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        Guid sid = Guid.NewGuid();
                        try
                        {
                            sid = Guid.Parse(secredId);
                        }
                        catch (Exception)
                        {
                            throw new Exception("Ocurrio un error con el servicio, puede ser que su key de sesión no sea correcta.");
                        }

                        Tb_MD_RecuperarPassword recuperar = null;
                        recuperar = context.Tb_MD_RecuperarPassword.FirstOrDefault(x => x.SecredId == sid);

                        if (recuperar == null)
                        {
                            throw new Exception("La operacion que intenta realizar no cuenta con autorización para hacerla.");
                        }

                        Tb_MD_Mae_Usuarios usuario = null;
                        usuario = context.Tb_MD_Mae_Usuarios.FirstOrDefault(x => x.iIdUsuario == recuperar.IdUsuario);

                        if (usuario == null)
                        {
                            throw new Exception("No se encontro el usuario.");
                        }

                        string clave = Encrypt.EncryptKey(password);
                        usuario.vPassword = clave;

                        context.SaveChanges();
                        transaction.Commit();


                        result.success = true;
                    }
                    catch (Exception ex)
                    {
                        result.success = false;
                        result.error   = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                        transaction.Rollback();
                    }
                }
            }

            return(result);
        }
예제 #3
0
        public Tb_MD_Mae_Usuarios getClienteAdmBySecredId(Guid secredId)
        {
            Tb_MD_Mae_Usuarios entity = null;

            using (MesaDineroContext context = new MesaDineroContext())
            {
                entity = context.Tb_MD_Mae_Usuarios.FirstOrDefault(x => x.SecretId == secredId);
            }
            return(entity);
        }
예제 #4
0
        public BaseResponse <string> sendCorreoRecuperarPasswordAdmin(string email)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        Guid               SecredId = Guid.NewGuid();
                        DateTime           ahora    = DateTime.Now;
                        Tb_MD_Mae_Usuarios usuario  = null;
                        usuario = context.Tb_MD_Mae_Usuarios.FirstOrDefault(x => x.vEstadoRegistro == EstadoRegistroTabla.Activo && x.vEmailUsuario.Equals(email));

                        Tb_MD_Per_Natural persona = null;
                        persona = context.Tb_MD_Per_Natural.FirstOrDefault(y => y.vNumDocumento == usuario.vNroDocumento);


                        if (usuario == null)
                        {
                            throw new Exception("No se encontro un cliente de LMD con este Email");
                        }

                        Tb_MD_RecuperarPassword entity = new Tb_MD_RecuperarPassword
                        {
                            Email           = usuario.vEmailUsuario,
                            FechaCreacion   = ahora,
                            FechaExpiracion = ahora.AddDays(1),
                            IdUsuario       = usuario.iIdUsuario,
                            SecredId        = SecredId,
                            TipoUsuario     = "CL"
                        };

                        context.Tb_MD_RecuperarPassword.Add(entity);
                        context.SaveChanges();
                        transaction.Commit();

                        result.success = true;
                        CorreoHelper.SedCorreoRecuperarContrasenhaAdmin(usuario.vEmailUsuario, SecredId.ToString(), persona.vNombre + " " + persona.vApellido + " " + persona.vApellidoMat);
                    }
                    catch (Exception ex)
                    {
                        result.success = false;
                        result.error   = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                        transaction.Rollback();
                    }
                }
            }

            return(result);
        }
예제 #5
0
        public BaseResponse <string> EliminarUsuario(UsuarioRequest model, string usuarioDoc)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaccion = context.Database.BeginTransaction())
                {
                    try
                    {
                        Tb_MD_Mae_Usuarios usuario = context.Tb_MD_Mae_Usuarios.Find(model.codigo);
                        if (usuario == null)
                        {
                            throw new Exception("Entidad Nula, Cargo no encontrado");
                        }


                        usuario.dFechaModificacion   = DateTime.Now;
                        usuario.vUsuarioModificacion = usuarioDoc;
                        usuario.vEstadoRegistro      = model.estado;
                        context.SaveChanges();
                        transaccion.Commit();

                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaccion.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;

                        transaccion.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(result);
        }
예제 #6
0
        public ActionResult PasswordAdmin(string id)
        {
            Tb_MD_Mae_Usuarios mUsuario = null;

            MesaDinero.Domain.DataAccess.CommonDataAccess _common = new Domain.DataAccess.CommonDataAccess();
            MesaDinero.Domain.Model.RegistroResponse      model   = new Domain.Model.RegistroResponse();

            Guid sid = Guid.NewGuid();

            try
            {
                sid               = Guid.Parse(id);
                mUsuario          = _common.getClienteAdmBySecredId(sid);
                model.sid         = id;
                model.tipoCliente = 1;
                model.email       = mUsuario.vEmailUsuario;
            }
            catch (Exception)
            {
                return(HttpNotFound());
            }

            return(View(model));
        }
예제 #7
0
        public async Task <BaseResponse <string> > insertUsuario(UsuarioRequest model, string usuarioDoc)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaccion = context.Database.BeginTransaction())
                {
                    try
                    {
                        Tb_MD_Mae_Usuarios usuariovalida = context.Tb_MD_Mae_Usuarios.Where(x => x.vEmailUsuario == model.email && x.vRucEmpresa == model.rucEmpresa).FirstOrDefault();
                        if (usuariovalida != null)
                        {
                            throw new Exception("Ya existe un usuario con el mismo correo en esa empresa");
                        }
                        Tb_MD_Per_Natural persona = null;
                        persona = context.Tb_MD_Per_Natural.FirstOrDefault(x => x.vNumDocumento.Equals(model.nroDocumento));
                        {
                            if (persona == null)
                            {
                                persona = new Tb_MD_Per_Natural();
                                persona.dFechaCreacion            = DateTime.Now;
                                persona.vTipoDocumento            = model.tipoDocumento;
                                persona.vNumDocumento             = model.nroDocumento;
                                persona.vNombre                   = model.nombre;
                                persona.vApellido                 = model.apellidoPat;
                                persona.vApellidoMat              = model.apellidoMat;
                                persona.vPreCelular               = model.prefijo;
                                persona.vTelefonoMovil            = model.celular;
                                persona.vMailContacto             = model.email;
                                persona.vEstadoRegistro           = EstadoRegistroTabla.Activo;
                                persona.vFlgExpuestoPoliticamente = "N";
                                context.Tb_MD_Per_Natural.Add(persona);
                            }
                        }

                        Tb_MD_Mae_Usuarios usuario = new Tb_MD_Mae_Usuarios();
                        usuario.vEmailUsuario    = model.email;
                        usuario.vTipoUsuario     = model.tipoUsuario;
                        usuario.dFechaCreacion   = DateTime.Now;
                        usuario.vUsuarioCreacion = usuarioDoc;
                        usuario.SecretId         = Guid.NewGuid();
                        usuario.vRucEmpresa      = model.rucEmpresa;
                        usuario.vNroDocumento    = model.nroDocumento;
                        usuario.vEstadoRegistro  = EstadoRegistroTabla.NoActivo;
                        context.Tb_MD_Mae_Usuarios.Add(usuario);

                        string cliente = model.nombre + " " + model.apellidoPat + " " + model.apellidoMat;

                        bool resul = await CorreoHelper.SendCorreoRegistroAdmExitoso(usuario.vEmailUsuario, usuario.SecretId.ToString(), cliente);

                        if (resul == false)
                        {
                            throw new Exception("No se pudo enviar Correo, Revise su conexion");
                        }

                        context.SaveChanges();
                        transaccion.Commit();

                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaccion.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;

                        transaccion.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(result);
        }
예제 #8
0
        public BaseResponse <string> EditarUsuario(UsuarioRequest model, string usuarioDoc)
        {
            BaseResponse <string> result = new BaseResponse <string>();

            using (MesaDineroContext context = new MesaDineroContext())
            {
                using (var transaccion = context.Database.BeginTransaction())
                {
                    try
                    {
                        Tb_MD_Per_Natural persona = null;
                        persona = context.Tb_MD_Per_Natural.FirstOrDefault(x => x.vNumDocumento.Equals(model.nroDocumento));
                        {
                            if (persona == null)
                            {
                                persona = new Tb_MD_Per_Natural();
                                persona.dFechaCreacion            = DateTime.Now;
                                persona.vTipoDocumento            = model.tipoDocumento;
                                persona.vNumDocumento             = model.nroDocumento;
                                persona.vNombre                   = model.nombre;
                                persona.vApellido                 = model.apellidoPat;
                                persona.vApellidoMat              = model.apellidoMat;
                                persona.vPreCelular               = model.prefijo;
                                persona.vTelefonoMovil            = model.celular;
                                persona.vMailContacto             = model.email;
                                persona.vEstadoRegistro           = EstadoRegistroTabla.Activo;
                                persona.vFlgExpuestoPoliticamente = "N";
                                context.Tb_MD_Per_Natural.Add(persona);
                            }
                        }

                        Tb_MD_Mae_Usuarios usuario = context.Tb_MD_Mae_Usuarios.Find(model.codigo);
                        if (usuario == null)
                        {
                            throw new Exception("Entidad Nula, Usuario no encontrado");
                        }
                        //Tb_MD_Cargo cargo = new Tb_MD_Cargo();

                        usuario.vEmailUsuario        = model.email;
                        usuario.vTipoUsuario         = model.tipoUsuario;
                        usuario.dFechaModificacion   = DateTime.Now;
                        usuario.vUsuarioModificacion = usuarioDoc;
                        usuario.vRucEmpresa          = model.rucEmpresa;
                        usuario.vNroDocumento        = model.nroDocumento;
                        usuario.vEstadoRegistro      = EstadoRegistroTabla.NoActivo;
                        //context.Tb_MD_Cargo.Add(cargo);

                        context.SaveChanges();
                        transaccion.Commit();

                        result.success = true;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        #region Error EntityFramework
                        var errorMessages = ex.EntityValidationErrors
                                            .SelectMany(x => x.ValidationErrors)
                                            .Select(x => x.ErrorMessage);

                        var fullErrorMessage = string.Join("; ", errorMessages);

                        result.success = false;
                        result.error   = fullErrorMessage;
                        transaccion.Rollback();
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        result.success = false;

                        transaccion.Rollback();
                        result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    }
                }
            }

            return(result);
        }