Ejemplo n.º 1
0
        /// <summary>
        /// A traves del tipo de un viewModel se obtienen las propiedades y se las agregada a Columns
        /// solo aquellas que no tengan el decorador Invisible y a las agregadas se les cambiara el nombre
        /// si existe otro decorador que lo indique
        /// </summary>
        /// <param name="Columns"></param>
        /// <param name="type"></param>
        public static void AddColumnsSetting(MVCxGridViewColumnCollection Columns, Type type)
        {
            Type modelType = null;

            if (IsEntity(type))
            {
                modelType = type;
            }
            else
            {
                modelType = type.GetGenericArguments().Where(t => t.BaseType.IsEquivalentTo(typeof(Business.Entities.BaseEntities.BaseEntity)) || (t.BaseType.BaseType != null && t.BaseType.BaseType.IsEquivalentTo(typeof(Business.Entities.BaseEntities.BaseEntity)))).FirstOrDefault();
            }

            if (modelType == null)
            {
                return;
            }

            foreach (var property in modelType.GetProperties())
            {
                if (modelType.Name == "Novedad" && property.Name == "NombreTipoNovedad")
                {
                    continue;
                }
                // Si se configuro el modelo para descartar propiedades a agregar al gridview
                var attr = property.GetCustomAttributesData().FirstOrDefault(a => a.AttributeType.Name.Equals("InvisibleAttribute"));
                if (property.Name == "Id" || attr != null)
                {
                    continue;
                }

                //attr = property.GetCustomAttributesData().FirstOrDefault(a => a.AttributeType.Name.Equals("ColumnNameGridViewAttribute"));
                if (!IsPropertyForRendered(property.Name))
                {
                    continue;
                }



                Columns.Add(property.Name);
                var style = new DevExpress.Web.GridViewHeaderStyle();
                // style.BackColor = System.Drawing.Color.LightGray;
                Columns[property.Name].HeaderStyle.BackColor = System.Drawing.Color.LightGray;
                Columns[property.Name].HeaderStyle.Font.Bold = true;
                ((MVCxGridViewColumn)Columns[property.Name]).Settings.AutoFilterCondition = AutoFilterCondition.Contains;

                // Si se configuro el modelo para cambiar el nombre de la columna agregada
                attr = property.GetCustomAttributesData().FirstOrDefault(a => a.AttributeType.Name.Equals("ColumnNameGridViewAttribute"));
                if (attr != null)
                {
                    var nameColumn = attr.NamedArguments.FirstOrDefault(a => a.MemberName.Equals("Name")).TypedValue.Value.ToString();
                    Columns[property.Name].Caption = nameColumn;
                }
            }
        }
Ejemplo n.º 2
0
        public static void AddColumnsSettingViewDataPDF(MVCxGridViewColumnCollection Columns, IEnumerable <CRM.Business.Views.BaseViews.BaseViewString.DynObject> model, bool Export)
        {
            if (model.Count() > 0)
            {
                foreach (var property in model.First().GetDynamicMemberNames())
                {
                    if (property.ToUpper().Trim() == "ID")
                    {
                        continue;
                    }

                    if (Export)
                    {
                        if (!(property.Trim() == "Observaciones" || property.Trim() == "Cg_Cli" ||
                              property.Trim() == "Des_Cli"))
                        {
                            Columns.Add(property);
                            var style = new DevExpress.Web.GridViewHeaderStyle();
                            // style.BackColor = System.Drawing.Color.LightGray;
                            Columns[property].HeaderStyle.BackColor = System.Drawing.Color.LightGray;
                            Columns[property].HeaderStyle.Font.Bold = true;
                            if (property.Trim() == "CantidadPedida")
                            {
                                Columns[property].Caption = "Cant.\n Pedida";
                            }

                            if (property.Trim() == "CantidadRecibida")
                            {
                                Columns[property].Caption = "Cant.\n Recibida";
                            }

                            if (property.Trim() == "UnidadFac")
                            {
                                Columns[property].Caption = "Unidad\nFac";
                            }

                            ((MVCxGridViewColumn)Columns[property]).Settings.AutoFilterCondition = AutoFilterCondition.Contains;
                        }
                    }
                }
            }
        }
Ejemplo n.º 3
0
        public static void AddColumnsSettingViewData(MVCxGridViewColumnCollection Columns, IEnumerable <CRM.Business.Views.BaseViews.BaseViewString.DynObject> model)
        {
            if (model.Count() > 0)
            {
                foreach (var property in model.First().GetDynamicMemberNames())
                {
                    if (property.ToUpper().Trim() == "ID" || property.ToUpper().Trim() == "ESTADO")
                    {
                        continue;
                    }


                    if (property.ToUpper().Trim().Contains("FECHA"))
                    {
                        Columns.Add(column =>
                        {
                            column.FieldName  = property;
                            column.Caption    = property;
                            column.ColumnType = MVCxGridViewColumnType.DateEdit;
                        });
                    }
                    else
                    {
                        Columns.Add(property);
                    }

                    if (property.ToUpper().Trim() == "DESCRIPCION")
                    {
                        Columns[property].Width = 350;
                    }

                    var style = new DevExpress.Web.GridViewHeaderStyle();
                    // style.BackColor = System.Drawing.Color.LightGray;
                    Columns[property].HeaderStyle.BackColor = System.Drawing.Color.LightGray;
                    Columns[property].HeaderStyle.Font.Bold = true;
                    ((MVCxGridViewColumn)Columns[property]).Settings.AutoFilterCondition = AutoFilterCondition.Contains;
                }
            }
        }
Ejemplo n.º 4
0
        public static void AddColumnsSettingViewData(MVCxGridViewColumnCollection Columns,
                                                     IEnumerable <CRM.Business.Views.BaseViews.BaseView.DynObject> model)
        {
            if (model.Count() == 0)
            {
                return;
            }

            foreach (var property in  model.First().GetDynamicMemberNames())
            {
                if (property.ToUpper().Trim() == "ID" || property.ToUpper().Trim() == "ESTADO")
                {
                    continue;
                }

                Columns.Add(property);
                var style = new DevExpress.Web.GridViewHeaderStyle();
                // style.BackColor = System.Drawing.Color.LightGray;
                Columns[property].HeaderStyle.BackColor = System.Drawing.Color.LightGray;
                Columns[property].HeaderStyle.Font.Bold = true;
                ((MVCxGridViewColumn)Columns[property]).Settings.AutoFilterCondition = AutoFilterCondition.Contains;
            }
        }
Ejemplo n.º 5
0
        public static void AddCustomColumnsSettingViewData(MVCxGridViewColumnCollection Columns, IEnumerable <CRM.Business.Views.BaseViews.BaseViewString.DynObject> model,
                                                           HtmlHelper Html, bool IsAdminOperador)
        {
            if (model.Count() == 0)
            {
                return;
            }
            foreach (var property in model.First().GetDynamicMemberNames())
            {
                if (property.ToUpper().Trim() == "ID" || property.ToUpper().Trim() == "DEVOL" ||
                    property.ToUpper().Trim() == "ESTADO" || property.ToUpper().Trim() == "HEXACOLOR" ||
                    property.ToUpper().Trim() == "DESCESTADO")
                {
                    continue;
                }

                if (property.ToUpper().Trim() == "FECHASOLICITADARECEPCION" || property.ToUpper().Trim() == "FECHARECEPCION" ||
                    property.ToUpper().Trim() == "CONF_FECHA" || property.ToUpper().Trim() == "FE_RETIRO" || property.ToUpper().Trim() == "FECHAFINPRODUCCION")
                {
                    Columns.Add(property).PropertiesEdit.DisplayFormatString = "dd/MM/yyyy";


                    /*    Columns(property).FieldName = "AdmissionDate";
                     *  Columns.Caption = "Admission Date";
                     *  Columns.EditFormSettings.Visible = DefaultBoolean.True;
                     *  column.ColumnType = MVCxGridViewColumnType.DateEdit;
                     *  var dateProperties = column.PropertiesEdit as DateEditProperties;
                     *  dateProperties.AllowMouseWheel = true;
                     *  dateProperties.AllowUserInput = true;
                     *  dateProperties.ValidationSettings.ErrorDisplayMode = ErrorDisplayMode.ImageWithTooltip; */
                }
                else
                {
                    if (property.ToUpper().Trim() == "FECHAAUTORIZADARECEPCION")
                    {
                        if (IsAdminOperador)
                        {
                            Columns.Add(column =>
                            {
                                column.FieldName  = property;
                                column.Caption    = "Fecha Autorizada Recepcion";
                                column.ColumnType = MVCxGridViewColumnType.DateEdit;
                                int count         = 0;
                                column.SetDataItemTemplateContent(container =>
                                {
                                    Html.DevExpress().DateEdit(settings =>
                                    {
                                        var visibleIndex = container.VisibleIndex;
                                        //var keyValue = container.KeyValue;
                                        var keyValue   = DataBinder.Eval(container.DataItem, "ID");
                                        var fecha      = DataBinder.Eval(container.DataItem, "FechaAutorizadaRecepcion");
                                        settings.Width = System.Web.UI.WebControls.Unit.Pixel(90);
                                        settings.Name  = "date" + keyValue.ToString() + count;
                                        if (fecha.ToString() != string.Empty)
                                        {
                                            settings.Date = Convert.ToDateTime(fecha);
                                        }

                                        settings.Properties.DisplayFormatString = "d";
                                        settings.Properties.NullText            = "dd/MM/yyyy";
                                        settings.Properties.EditFormat          = EditFormat.Custom;
                                        settings.Properties.EditFormatString    = "dd/MM/yyyy";
                                        settings.Properties.DisplayFormatString = "dd/MM/yyyy";

                                        settings.Properties.ClientSideEvents.DateChanged = String.Format("function (s, e) {{ UpdatePedido(s, {0}); }}",
                                                                                                         Convert.ToInt32(keyValue));
                                        count++;
                                    }).Render();
                                });
                            });
                            var style = new DevExpress.Web.GridViewHeaderStyle();
                            Columns[property].HeaderStyle.BackColor = System.Drawing.Color.LightGray;
                            Columns[property].HeaderStyle.Font.Bold = true;
                        }
                        else
                        {
                            Columns.Add(property);
                        }
                    }
                    else
                    {
                        if (property.ToUpper().Trim() == "CANTIDADENTREGADA" || property.ToUpper().Trim() == "CANTIDADRECIBIDA")
                        {
                            Columns.Add(property).PropertiesEdit.DisplayFormatString = "N0";
                        }
                        else
                        {
                            Columns.Add(property);
                        }
                    }
                }

                Columns[property].CellStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
                Columns[property].HeaderStyle.BackColor     = System.Drawing.Color.LightGray;
                Columns[property].HeaderStyle.Font.Bold     = true;
            }
        }