private List <string> ValidarDatosPublicacion()
        {
            List <string>   errors = new List <string>();
            TipoPublicacion tipo   = (TipoPublicacion)ComboTipoPublicacion.SelectedItem;
            FechaHelper     helper = new FechaHelper();

            if (string.IsNullOrEmpty(RichTextBoxDescripcion.Text))
            {
                errors.Add(Resources.ErrorDescripcionVacia);
            }

            if (string.IsNullOrEmpty(textBoxPrecio.Text) || Convert.ToDecimal(textBoxPrecio.Text) <= 0)
            {
                errors.Add(Resources.PrecioInvalido);
            }

            if (DatePickerFechaInicio.Value < helper.GetSystemDate())
            {
                errors.Add(Resources.ErrorFechaInicio);
            }

            if (DatePickerFechaVencimiento.Value < helper.GetSystemDate())
            {
                errors.Add(Resources.ErrorFechaVencimiento);
            }

            if (tipo.Descripcion.Equals(Resources.CompraInmediata, StringComparison.CurrentCultureIgnoreCase))
            {
                if (string.IsNullOrEmpty(textBoxStock.Text) || Convert.ToInt32(textBoxStock.Text) <= 0)
                {
                    errors.Add(Resources.StockInvalido);
                }
            }
            else
            {
                if (string.IsNullOrEmpty(textBoxPrecioReserva.Text) || Convert.ToInt32(textBoxPrecioReserva.Text) <= 0)
                {
                    errors.Add(Resources.PrecioReservaInvalido);
                }
            }

            if (Usuario.Roles.Exists(x => x.Descripcion.Equals(Resources.Empresa, StringComparison.CurrentCultureIgnoreCase)))
            {
                if (!((Rubro)ComboRubro.SelectedItem).DescripcionLarga.Equals(Resources.Electronicos, StringComparison.CurrentCultureIgnoreCase))
                {
                    errors.Add(Resources.ErrorPublicacionEmpresa);
                }
            }

            return(errors);
        }
        private void GenerarPublicacion_Load(object sender, EventArgs e)
        {
            #region armadoComboTipoPublicacion
            List <TipoPublicacion> tipos = new List <TipoPublicacion>(TiposPublicacionServices.GetAllData());
            tipos = tipos.OrderBy(x => x.Descripcion).ToList();

            ComboTipoPublicacion.DataSource    = tipos;
            ComboTipoPublicacion.DisplayMember = "Descripcion";
            ComboTipoPublicacion.DropDownStyle = ComboBoxStyle.DropDownList;
            #endregion

            #region armadoComboRubro
            List <Rubro> rubros = new List <Rubro>(RubrosServices.GetAllData());
            rubros = rubros.OrderBy(x => x.DescripcionLarga).ToList();

            ComboRubro.DataSource    = rubros;
            ComboRubro.DisplayMember = "DescripcionLarga";
            ComboRubro.DropDownStyle = ComboBoxStyle.DropDownList;
            #endregion

            #region armadoComboVisibilidad
            List <Visibilidad> tiposVisibilidad = new List <Visibilidad>(VisibilidadesServices.GetAllData());
            tiposVisibilidad = tiposVisibilidad.OrderBy(x => x.Descripcion).ToList();

            ComboVisibilidad.DataSource    = tiposVisibilidad;
            ComboVisibilidad.DisplayMember = "Descripcion";
            ComboVisibilidad.DropDownStyle = ComboBoxStyle.DropDownList;
            #endregion

            Publicacion publicacion = new Publicacion
            {
                EstadoPublicacion     = { Descripcion = Resources.Borrador },
                TipoPublicacion       = { Descripcion = Resources.CompraInmediata },
                RubroDescripcionLarga = ((Rubro)ComboRubro.SelectedItem).DescripcionLarga,
                Visibilidad           = { Descripcion = ((Visibilidad)ComboVisibilidad.SelectedItem).Descripcion },
                FechaInicio           = _helper.GetSystemDate(),
                FechaVencimiento      = _helper.GetSystemDate()
            };

            InicializarPantalla(publicacion);
            ReordenarPantallaDeAcuerdoAEstado(publicacion);

            #region habilitacionGuardar
            List <Rol> roles    = new List <Rol>(RolesServices.GetAllData());
            Rol        rolAdmin = roles.Find(x => x.Descripcion.Equals(Resources.Administrativo, StringComparison.CurrentCultureIgnoreCase));

            bool condGuardar = Usuario.Roles.Any(x => x.IdRol == rolAdmin.IdRol);
            BtnGuardar.Enabled = !condGuardar;
            #endregion
        }