private static void LoadInfoProvider(RadicacionViewModel radicacionViewModel, string userNitLogged, bdFacturacionElectronicaEntities entities)
        {
            tblUsuariosProveedor userProvider = entities.tblUsuariosProveedor.Where(u => u.UsuarioNit == userNitLogged).FirstOrDefault();

            radicacionViewModel.UserNit     = userProvider.UsuarioNit;
            radicacionViewModel.RazonSocial = userProvider.RazonSocial;
        }
        private tblUsuariosProveedor UpdateUserProvider(ActualizarDatosViewModel actualizarDatosViewModel, bdFacturacionElectronicaEntities entities)
        {
            string userNit = HttpContext.User.Identity.Name;
            HttpFileCollectionBase files        = Request.Files;
            tblUsuariosProveedor   userProvider = entities.tblUsuariosProveedor.Where(u => u.UsuarioNit == userNit).FirstOrDefault();

            userProvider.UsuarioNit          = userNit;
            userProvider.RazonSocial         = actualizarDatosViewModel.RazonSocial;
            userProvider.IDCalidadTributaria = actualizarDatosViewModel.IDCalidadTributaria;
            userProvider.Email              = actualizarDatosViewModel.Email;
            userProvider.Telefono           = actualizarDatosViewModel.Telefono;
            userProvider.Direccion          = actualizarDatosViewModel.Direccion;
            userProvider.RepresentanteLegal = actualizarDatosViewModel.RepresentanteLegal;

            if (!string.IsNullOrEmpty(actualizarDatosViewModel.Rut))
            {
                HttpPostedFileBase fileRut     = Request.Files["Rut"];
                string             locationRut = GetLocationFile("RUT", actualizarDatosViewModel, fileRut);
                userProvider.RutaRut = locationRut;
            }

            if (!string.IsNullOrEmpty(actualizarDatosViewModel.CamaraComercio))
            {
                HttpPostedFileBase fileCamaraComercio     = Request.Files["CamaraComercio"];
                string             locationCamaraComercio = GetLocationFile("CAMARACOMERCIO", actualizarDatosViewModel, fileCamaraComercio);
                userProvider.RutaCamaraComercio = locationCamaraComercio;
            }

            entities.SaveChanges();
            return(userProvider);
        }
        public ActionResult Update(ActualizarDatosViewModel actualizarDatosViewModel)
        {
            try
            {
                BindTaxQuality(actualizarDatosViewModel);
                using (bdFacturacionElectronicaEntities entities = new bdFacturacionElectronicaEntities())
                {
                    tblUsuariosProveedor userProvider = UpdateUserProvider(actualizarDatosViewModel, entities);

                    if (userProvider.Email.ToLower().Equals(actualizarDatosViewModel.Emaildb.ToLower()))
                    {
                        GenerateAlert("success", "Actualización éxitosa", "La actualización se ha realizado correctamente", "/Menu/MenuProveedor");
                    }
                    else
                    {
                        UsuarioActivacion userActivation = InsertUserActivation(userProvider);
                        SendActivationLinkEmail(userProvider, userActivation);
                        FormsAuthentication.SignOut();
                        GenerateAlert("success", "Actualización éxitosa", "La actualización se ha realizado correctamente, debido a que el email ha cambiado, se debe activar nuevamente la cuenta, verifique el link de activación que fue enviado al email.", "/");
                    }
                }
            }
            catch (DbEntityValidationException exception)
            {
                GenerateAlert("error", "error", "validación de modelo", string.Empty);
            }
            catch (Exception exception)
            {
                GenerateAlert("error", "error", exception.Message, string.Empty);
            }

            return(View("Index", actualizarDatosViewModel));
        }
Ejemplo n.º 4
0
 public ActionResult Create(tblUsuariosProveedor userModel)
 {
     using (bdFacturacionElectronicaEntities db = new bdFacturacionElectronicaEntities())
     {
         string prueba = "";
         return(RedirectToAction("Index", "Login"));
     }
 }
 private UsuarioActivacion InsertUserActivation(tblUsuariosProveedor userModel)
 {
     using (bdFacturacionElectronicaEntities entities = new bdFacturacionElectronicaEntities())
     {
         UsuarioActivacion userActivation = new UsuarioActivacion();
         userActivation.UsuarioID        = userModel.ID;
         userActivation.ActivacionCodigo = Guid.NewGuid();
         entities.UsuarioActivacion.Add(userActivation);
         entities.SaveChanges();
         return(userActivation);
     }
 }
        private void LoadInfoUserProvider(ActualizarDatosViewModel actualizarDatosViewModel, string userNitLogged, bdFacturacionElectronicaEntities entities)
        {
            tblUsuariosProveedor userProvider = entities.tblUsuariosProveedor.Where(u => u.UsuarioNit == userNitLogged).FirstOrDefault();

            actualizarDatosViewModel.UserNit             = userProvider.UsuarioNit;
            actualizarDatosViewModel.RazonSocial         = userProvider.RazonSocial;
            actualizarDatosViewModel.IDCalidadTributaria = (userProvider.IDCalidadTributaria.HasValue) ? userProvider.IDCalidadTributaria.Value : 0;
            actualizarDatosViewModel.Email              = userProvider.Email;
            actualizarDatosViewModel.Emaildb            = userProvider.Email;
            actualizarDatosViewModel.Telefono           = userProvider.Telefono;
            actualizarDatosViewModel.Direccion          = userProvider.Direccion;
            actualizarDatosViewModel.RepresentanteLegal = userProvider.RepresentanteLegal;
            actualizarDatosViewModel.Rut            = GetUrlFile(userProvider.RutaRut);
            actualizarDatosViewModel.CamaraComercio = GetUrlFile(userProvider.RutaCamaraComercio);
        }
 private tblUsuariosProveedor InsertUserProvider(InscripcionViewModel inscripcionViewModel)
 {
     using (bdFacturacionElectronicaEntities entities = new bdFacturacionElectronicaEntities())
     {
         HttpFileCollectionBase files              = Request.Files;
         HttpPostedFileBase     fileRut            = Request.Files["Rut"];
         HttpPostedFileBase     fileCamaraComercio = Request.Files["CamaraComercio"];
         string locationRut                = GetLocationFile("RUT", inscripcionViewModel, fileRut);
         string locationCamaraComercio     = GetLocationFile("CAMARACOMERCIO", inscripcionViewModel, fileCamaraComercio);
         tblUsuariosProveedor providerUser = SetModelProviderUser(inscripcionViewModel, locationRut, locationCamaraComercio);
         entities.tblUsuariosProveedor.Add(providerUser);
         entities.SaveChanges();
         return(providerUser);
     }
 }
        public ActionResult CambiarClave(CambioClaveViewModel cambioClaveViewModel)
        {
            try
            {
                string userNitLogged = HttpContext.User.Identity.Name;
                using (bdFacturacionElectronicaEntities entities = new bdFacturacionElectronicaEntities())
                {
                    tblUsuariosProveedor userProvider = entities.tblUsuariosProveedor.Where(u => u.UsuarioNit == userNitLogged).FirstOrDefault();
                    string keyUser = userProvider.Password;
                    if (keyUser.Equals(cambioClaveViewModel.PasswordActual))
                    {
                        if (cambioClaveViewModel.PasswordActual.Equals(cambioClaveViewModel.NuevaPassword))
                        {
                            GenerateAlert("error", "Clave nueva igual a la clave actual", "La clave nueva no puede ser igual a la clave actual", string.Empty);
                            return(View("Index", cambioClaveViewModel));
                        }
                        else
                        {
                            if (cambioClaveViewModel.NuevaPassword.Equals(cambioClaveViewModel.ConfirmarNuevaPassword))
                            {
                                updatePassword(userProvider, cambioClaveViewModel, entities);
                                GenerateAlert("success", "Cambio de clave éxitosa", "La clave ha sido cambiada correctamente", "/Menu/MenuProveedor");
                            }
                            else
                            {
                                GenerateAlert("error", "Claves nuevas no coinciden", "Las nuevas claves no coinciden", string.Empty);
                            }
                        }
                    }
                    else
                    {
                        GenerateAlert("error", "Clave actual inválida", "La clave actual no coincide con la registrada en el sistema", string.Empty);
                    }
                }
            }
            catch (DbEntityValidationException)
            {
                GenerateAlert("error", "error", "validación de modelo", string.Empty);
            }
            catch (Exception exception)
            {
                GenerateAlert("error", "error", exception.Message, string.Empty);
            }

            return(View("Index", cambioClaveViewModel));
        }
 private void AddProviderUser(InscripcionViewModel inscripcionViewModel)
 {
     try
     {
         tblUsuariosProveedor providerUser   = InsertUserProvider(inscripcionViewModel);
         UsuarioActivacion    userActivation = InsertUserActivation(providerUser);
         SendActivationLinkEmail(providerUser, userActivation);
         GenerateAlert("success", "Inscripción éxitosa", "La inscripción se ha realizado correctamente, recuerde activar su cuenta mediante el link de activación que se le acaba de enviar al email", "/");
     }
     catch (DbEntityValidationException)
     {
         GenerateAlert("error", "error", "validación de modelo", string.Empty);
     }
     catch (Exception exception)
     {
         GenerateAlert("error", "error", exception.Message, string.Empty);
     }
 }
        private tblUsuariosProveedor SetModelProviderUser(InscripcionViewModel inscripcionViewModel, string locationRut, string locationCamaraComercio)
        {
            tblUsuariosProveedor providerUser = new tblUsuariosProveedor();

            providerUser.UsuarioNit          = inscripcionViewModel.UserNit.ToUpper();
            providerUser.Password            = inscripcionViewModel.Password;
            providerUser.RazonSocial         = inscripcionViewModel.RazonSocial.ToUpper();
            providerUser.IDCalidadTributaria = inscripcionViewModel.IDCalidadTributaria;
            providerUser.Email              = inscripcionViewModel.Email.ToUpper();
            providerUser.Telefono           = inscripcionViewModel.Telefono.ToUpper();
            providerUser.Direccion          = inscripcionViewModel.Direccion.ToUpper();
            providerUser.RepresentanteLegal = inscripcionViewModel.RepresentanteLegal.ToUpper();
            providerUser.RutaRut            = locationRut;
            providerUser.RutaCamaraComercio = locationCamaraComercio;
            providerUser.Estado             = "ACTIVACIÓN";
            providerUser.CreatedDate        = DateTime.Now;
            return(providerUser);
        }
 public ActionResult Authorize(tblUsuariosProveedor userModel)
 {
     using (bdFacturacionElectronicaEntities db = new bdFacturacionElectronicaEntities())
     {
         var user = db.tblUsuariosProveedor.Where(u => u.UsuarioNit.Equals(userModel.UsuarioNit) && u.Password.Equals(userModel.Password)).FirstOrDefault();
         if (user == null)
         {
             userModel.LoginErrorMessage = "Usuario o password inválido";
             return(View("Index", userModel));
         }
         else
         {
             Session["UserID"]   = user.ID;
             Session["Username"] = user.RazonSocial;
             return(RedirectToAction("MenuProveedor", "Menu"));
         }
     }
 }
        private void SendActivationLinkEmail(tblUsuariosProveedor userModel, UsuarioActivacion userActivation)
        {
            string     path           = string.Format("{0}://{1}", Request.Url.Scheme, Request.Url.Authority);
            string     activationLink = string.Format("{0}/Login/LinkActivacion/?userId={1}&&activactioncode={2}", path, userActivation.UsuarioID, userActivation.ActivacionCodigo);
            SmtpClient client         = new SmtpClient("smtp.office365.com", 587);

            client.EnableSsl   = true;
            client.Credentials = new NetworkCredential("*****@*****.**", "Afes2018*#");
            MailAddress from    = new MailAddress("*****@*****.**", String.Empty, Encoding.UTF8);
            MailAddress to      = new MailAddress(userModel.Email);
            MailMessage message = new MailMessage(from, to)
            {
                Body            = string.Format("Cordial saludo. <br/> Este es el link de activación del usuario que acabas de actualizar <b>{0}</b>, por favor haga clic en el siguiente link para poder activar su cuenta <a href='{1}' alt='link de activación'>ACTIVAR CUENTA</a>", userModel.UsuarioNit, activationLink),
                IsBodyHtml      = true,
                Priority        = MailPriority.High,
                BodyEncoding    = Encoding.UTF8,
                Subject         = "Link de activación Portal Proveedores - Facturación Electrónica",
                SubjectEncoding = Encoding.UTF8
            };

            client.Send(message);
        }
 private void updatePassword(tblUsuariosProveedor userProvider, CambioClaveViewModel cambioClaveViewModel, bdFacturacionElectronicaEntities entities)
 {
     userProvider.Password = cambioClaveViewModel.NuevaPassword;
     entities.SaveChanges();
 }