public bool NuevoProveedor(string rut, string clave, string nombre, string email, string telefono, bool vip)
        {
            bool result = false;
            int  i;
            //La clave debe tener entre 8 y 15 caracteres, tener al menos un numero, una letra minuscula y una letra mayuscula
            Regex regexPass  = new Regex(@"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,15}$");
            Regex regexEmail = new Regex(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$");

            if (int.TryParse(rut, out i) && regexEmail.IsMatch(email) && int.TryParse(telefono, out i) && regexPass.IsMatch(clave))
            {
                Usuario usu = new Usuario(rut, clave, Rol.Proveedor);
                usu.Insertar();
                if (vip)
                {
                    Proveedor_Vip prov = new Proveedor_Vip(rut, nombre, email, telefono, null);
                    result = prov.Insertar();
                }
                else
                {
                    Proveedor_Comun prov = new Proveedor_Comun(rut, nombre, email, telefono, null);
                    result = prov.Insertar();
                }
            }
            return(result);
        }
        public DTOProveedor FindById(string rut)
        {
            Proveedor    p    = Proveedor.FindById(rut);
            DTOProveedor elem = null;

            if (p.GetType() == typeof(Proveedor_Comun))
            {
                elem = new DTOProveedor
                {
                    Rut            = p.Rut,
                    NombreFantasia = p.NombreFantasia,
                    Telefono       = p.Telefono,
                    Email          = p.Email,
                    Activo         = p.Activo,
                    Porcentaje     = 0,
                    Servicios      = p.Servicios
                };
            }
            else
            {
                Proveedor_Vip pv = p as Proveedor_Vip;
                elem = new DTOProveedor
                {
                    Rut            = p.Rut,
                    NombreFantasia = p.NombreFantasia,
                    Telefono       = p.Telefono,
                    Email          = p.Email,
                    Activo         = p.Activo,
                    Porcentaje     = pv.Porcentaje,
                    Servicios      = p.Servicios
                };
            }
            return(elem);
        }
        public bool ModificarPorcentaje(double porcentaje)
        {
            bool result = false;

            result = Proveedor_Vip.ModificarPorcentaje(porcentaje);

            return(result);
        }
Beispiel #4
0
 protected void btnRegistro_Click(object sender, EventArgs e)
 {
     Page.Validate();
     if (Page.IsValid)
     {
         string          rut    = txtRut.Text;
         string          clave  = txtClave.Text;
         string          nombre = txtNombre.Text;
         string          email  = txtEmail.Text;
         string          tel    = txtTel.Text;
         Usuario         user   = new Usuario(rut, Usuario.HashPassword(clave), Rol.Proveedor);
         Proveedor       prov;
         List <Servicio> serviciosProv = new List <Servicio>();
         foreach (GridViewRow row in grvServicios.Rows)
         {
             if (((CheckBox)row.FindControl("ChkSelect")).Checked)
             {
                 int id;
                 if (int.TryParse(row.Cells[1].Text, out id))
                 {
                     Servicio s = Servicio.EncuentraServicio(id);
                     if (s != null)
                     {
                         serviciosProv.Add(s);
                     }
                 }
             }
         }
         if (chkVip.Checked)
         {
             prov = new Proveedor_Vip(rut, nombre, email, tel, serviciosProv);
         }
         else
         {
             prov = new Proveedor_Comun(rut, nombre, email, tel, serviciosProv);
         }
         if (Usuario.ValidarClave(clave) && prov.Validar())
         {
             if (user.Insertar() && prov.Insertar())
             {
                 lblResultado.Text = "El proveedor ha sido registrado exitosamente";
             }
             else
             {
                 lblResultado.Text = "Ha occurrido un error, verifique sus datos por favor";
             }
         }
         else
         {
             lblResultado.Text = "Ha occurrido un error, verifique sus datos por favor";
         }
     }
     else
     {
         lblResultado.Text = "Ha occurrido un error, verifique sus datos por favor";
     }
 }
        public bool NuevoProveedor(string rut, string clave, string nombre, string email, string telefono, bool vip, List <int> intServicios)
        {
            bool result = false;
            int  i;
            //La clave debe tener entre 8 y 15 caracteres, tener al menos un numero, una letra minuscula y una letra mayuscula
            Regex regexEmail = new Regex(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$");
            bool  notnull    = rut != null && clave != null && nombre != null && telefono != null && intServicios != null;

            if (notnull && regexEmail.IsMatch(email) && int.TryParse(telefono, out i) && Usuario.ValidarClave(clave))
            {
                Usuario         usu              = new Usuario(rut, Usuario.HashPassword(clave), Rol.Proveedor);
                List <Servicio> servicios        = new List <Servicio>();
                bool            serviciosExisten = true;
                i = 0;
                int end = intServicios.Count - 1;
                while (i < end && serviciosExisten)
                {
                    int      dtoS = intServicios[i];
                    Servicio s    = Servicio.EncuentraServicio(dtoS);
                    if (s != null)
                    {
                        servicios.Add(s);
                        i++;
                    }
                    else
                    {
                        serviciosExisten = false;
                    }
                }
                Proveedor prov = null;
                if (vip)
                {
                    prov = new Proveedor_Vip(rut, nombre, email, telefono, servicios);
                }
                else
                {
                    prov = new Proveedor_Comun(rut, nombre, email, telefono, servicios);
                }
                result = serviciosExisten && usu.Insertar() && prov.Insertar();
            }
            return(result);
        }
        public List <DTOProveedor> ListarProveedores()
        {
            List <Proveedor>    lista = Proveedor.FindAll();
            List <DTOProveedor> ret   = new List <DTOProveedor>();

            foreach (Proveedor p in lista)
            {
                DTOProveedor elem = null;
                if (p.GetType() == typeof(Proveedor_Comun))
                {
                    elem = new DTOProveedor
                    {
                        Rut        = p.Rut,
                        Nombre     = p.NombreFantasia,
                        Telefono   = p.Telefono,
                        Email      = p.Email,
                        Activo     = p.Activo,
                        Porcentaje = 0,
                        Servicios  = p.Servicios
                    };
                }
                else
                {
                    Proveedor_Vip pv = p as Proveedor_Vip;
                    elem = new DTOProveedor
                    {
                        Rut        = p.Rut,
                        Nombre     = p.NombreFantasia,
                        Telefono   = p.Telefono,
                        Email      = p.Email,
                        Activo     = p.Activo,
                        Porcentaje = pv.Porcentaje,
                        Servicios  = p.Servicios
                    };
                }
                ret.Add(elem);
            }
            return(ret);
        }