// Check if series in database public static async void CreateSeries(bool DeleteOldSeries = true) { if (DeleteOldSeries) { var oldseries = DS.db.GetAll <SeriesName>(a => true) as IEnumerable <SeriesName>; DS.db.DeleteMany(oldseries); } var modulesWithSeries = DS.db.GetAll <ModuleErp>(a => true) as IEnumerable <ModuleErp>; if (modulesWithSeries != null) { foreach (var module in modulesWithSeries) { try { var currentIndex = DS.Generic(module.ClassName)?.Count();//, true); if (currentIndex.HasValue) { CreateSeries(module, currentIndex.Value); } } catch (Exception s) { DataHelpers.Logger.LogError(s); throw s; } } } }
public void UpdateDataRefs() { try { Type t = DataHelpers.GetTypesModule.Resolve(ClassName); var collection = t; // Type.GetType(ClassName); var items = DS.Generic(collection)?.GetAll(); // as IEnumerable<IDocument>; if (items != null) { foreach (IDocument item in items) { item.ForceIgniorValidatUnique = true; if (!(item).Save()) { return; } } DataHelpers.ShowMessage("Documents à jour!"); } } catch (Exception s) { DataHelpers.ShowMessageError(s); } }
private void SearchWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { SearchResults = new List <SearchItem>(); var modules = DataHelpers.ModulesSearch; foreach (var item in modules) { try { var className = item.ClassName; var value = DS.Generic(className)?.Find("NameSearch", SearchMenuText, false); if (value != null) { foreach (IDocument doc in value) { SearchResults.Add(new SearchItem(doc)); NotifyOfPropertyChange("SearchResults"); } } } catch { continue; } SearchWorker.ReportProgress(0); } }
public void PopulatePossibleValues() { // Get possible values PossibleValues.Clear(); var type = GetTypeName(SelectedProeprty.PropertyType); HashSet <string> collections = new HashSet <string>(); foreach (var item in Inputs) { var val = _SelectedProeprty.GetValue(item, null)?.ToString(); if (val != null) { if (type == "Guid") { try { var attributes = _SelectedProeprty.GetCustomAttribute(typeof(ColumnAttribute)) as ColumnAttribute; var option = attributes.Options; if (string.IsNullOrWhiteSpace(option) || option.Contains(">") || string.IsNullOrWhiteSpace(val)) { continue; } var link = DS.Generic(option)?.GetById(GuidParser.Convert(val));//, true) as IEnumerable<IDocument>; if (link == null) { continue; } collections.Add(link?.Name); StatusLabel = $"{_("Récupération des données")} - {link?.Name}"; NotifyOfPropertyChange("StatusLabel"); } catch (Exception s) { DataHelpers.ShowMessage(s.Message); } } else { collections.Add(val as string); } } } PossibleValues.AddRange(collections); StatusLabel = _($"Términé"); NotifyOfPropertyChange("StatusLabel"); NotifyOfPropertyChange("PossibleValues"); }
public void DeleteAll() { var res = DataHelpers.ShowMessage("Effacer tout ?", "", MessageBoxButton.YesNo); if (res == MessageBoxResult.Yes) { try { Type cls = DataHelpers.GetTypesModule.Resolve(this.ClassName); DS.Generic(cls)?.DropCollection(); // DataHelpers.GetGenericData(cls) ; //var metGetCount = (generic.GetType() as Type).GetMethod("Clear"); // metGetCount.Invoke(generic, null); DataHelpers.ShowMessage("Terminé"); } catch (Exception s) { DataHelpers.ShowMessage(s.Message); } } }
//public static bool IsValide(this Guid id) //{ // if (id.HasValue) // return (id != Guid.Empty && id != null); // return false; //} public static dynamic GetObject(this Guid id, string model) { return(DS.Generic(model)?.GetById(id)); }
public void FilterData() { if (SelectedProeprty == null) { DataHelpers.ShowMessage(_("Données Insuffisantes")); return; } if (ConditionsSelected == null) { DataHelpers.ShowMessage(_("Vérifier les conditions")); return; } if (string.IsNullOrEmpty(Valeur)) { Valeur = " "; //DataHelpers.ShowMessage("Vérifier les valeurs"); //return; } var query = Inputs; //var query = new List<IDocument>(); //query = ((System.Collections.Generic.List<IDocument>) Inputs) ; if (GetTypeName(SelectedProeprty.PropertyType) == "DateTime") { var _Valeur = DateTime.Parse(Valeur); switch (ConditionsSelected.Value) { case EnumConditions.egale: var result = query.Where(a => (SelectedProeprty.GetValue(a, null) as DateTime?)?.Date == (_Valeur.Date)); Result = result.ToList(); Inputs = Result; break; case EnumConditions.ressemble: var resultRes = query.Where(a => (SelectedProeprty.GetValue(a, null) as DateTime?)?.Date == (_Valeur.Date)); Result = resultRes.ToList(); Inputs = Result; break; case EnumConditions.déffirent: var resultDef = query.Where(a => !((SelectedProeprty.GetValue(a, null) as DateTime?)?.Date == _Valeur.Date)); Result = resultDef.ToList(); Inputs = Result; break; case EnumConditions.inférieur: var resultInf = query.Where(a => (SelectedProeprty.GetValue(a, null) as DateTime?)?.Ticks <= (_Valeur.Ticks)); Result = resultInf.ToList(); Inputs = Result; break; case EnumConditions.supérieur: var resultSup = query.Where(a => (SelectedProeprty.GetValue(a, null) as DateTime?)?.Ticks >= (_Valeur.Ticks)); Result = resultSup.ToList(); Inputs = Result; break; default: break; } } if (GetTypeName(SelectedProeprty.PropertyType) == "Int32") { var _Valeur = int.Parse(Valeur); switch (ConditionsSelected.Value) { case EnumConditions.ressemble: try { var resultd = query.Where(a => SelectedProeprty.GetValue(a, null).ToString().Contains(Valeur)); Result = resultd.ToList(); Inputs = Result; } catch { } break; case EnumConditions.egale: var result = query.Where(a => (int?)SelectedProeprty.GetValue(a, null) == (_Valeur)); Result = result.ToList(); Inputs = Result; break; case EnumConditions.déffirent: var resultDef = query.Where(a => (int?)SelectedProeprty.GetValue(a, null) != _Valeur); Result = resultDef.ToList(); Inputs = Result; break; case EnumConditions.inférieur: var resultInf = query.Where(a => (int?)SelectedProeprty.GetValue(a, null) <= (_Valeur)); Result = resultInf.ToList(); Inputs = Result; break; case EnumConditions.supérieur: var resultSup = query.Where(a => (int?)SelectedProeprty.GetValue(a, null) >= (_Valeur)); Result = resultSup.ToList(); Inputs = Result; break; default: break; } } if (GetTypeName(SelectedProeprty.PropertyType) == "Decimal") { var _Valeur = decimal.Parse(Valeur); switch (ConditionsSelected.Value) { case EnumConditions.ressemble: try { var resultd = query.Where(a => SelectedProeprty.GetValue(a, null)?.ToString()?.Contains(Valeur) == true); Result = resultd.ToList(); Inputs = Result; } catch { } break; case EnumConditions.egale: var result = query.Where(a => (decimal?)SelectedProeprty.GetValue(a, null) == (_Valeur)); Result = result.ToList(); Inputs = Result; break; case EnumConditions.déffirent: var resultDef = query.Where(a => (decimal?)SelectedProeprty.GetValue(a, null) != _Valeur); Result = resultDef.ToList(); Inputs = Result; break; case EnumConditions.inférieur: var resultInf = query.Where(a => (decimal?)SelectedProeprty.GetValue(a, null) <= (_Valeur)); Result = resultInf.ToList(); Inputs = Result; break; case EnumConditions.supérieur: var resultSup = query.Where(a => (decimal?)SelectedProeprty.GetValue(a, null) >= (_Valeur)); Result = resultSup.ToList(); Inputs = Result; break; default: break; } } if (GetTypeName(SelectedProeprty.PropertyType) == "Double") { var _Valeur = double.Parse(Valeur); switch (ConditionsSelected.Value) { case EnumConditions.ressemble: try { var resultd = query.Where(a => SelectedProeprty.GetValue(a, null).ToString().Contains(Valeur)); Result = resultd.ToList(); Inputs = Result; } catch { } break; case EnumConditions.egale: var result = query.Where(a => (double?)SelectedProeprty.GetValue(a, null) == (_Valeur)); Result = result.ToList(); Inputs = Result; break; case EnumConditions.déffirent: var resultDef = query.Where(a => (double?)SelectedProeprty.GetValue(a, null) != _Valeur); Result = resultDef.ToList(); Inputs = Result; break; case EnumConditions.inférieur: var resultInf = query.Where(a => (double?)SelectedProeprty.GetValue(a, null) <= (_Valeur)); Result = resultInf.ToList(); Inputs = Result; break; case EnumConditions.supérieur: var resultSup = query.Where(a => (double?)SelectedProeprty.GetValue(a, null) >= (_Valeur)); Result = resultSup.ToList(); Inputs = Result; break; default: break; } } if (GetTypeName(SelectedProeprty.PropertyType) == "String") { switch (ConditionsSelected.Value) { case EnumConditions.ressemble: try { var results = query.Where(s => { var value = SelectedProeprty.GetValue(s, null); if (value == null) { return(false); } return(value.ToString().ToLower().Contains(Valeur.ToLower())); }); Result = results.ToList(); Inputs = Result; } catch { } break; case EnumConditions.egale: var result = query.Where(s => { var value = SelectedProeprty.GetValue(s, null); if (value == null) { return(false); } return(value.ToString() == (Valeur)); }); Result = result.ToList(); Inputs = Result; break; case EnumConditions.déffirent: var resultDef = query.Where(s => { var value = SelectedProeprty.GetValue(s, null); if (value == null) { return(false); } return(!(value.ToString() == (Valeur))); }); Result = resultDef.ToList(); Inputs = Result; break; default: break; } } if (GetTypeName(SelectedProeprty.PropertyType) == "Guid") { var attributes = SelectedProeprty.GetCustomAttribute(typeof(ColumnAttribute)) as ColumnAttribute; var option = attributes.Options; var link = DS.Generic(option)?.Find("Name", Valeur, true)?.FirstOrDefault(); if (link == null && ConditionsSelected.Value != EnumConditions.ressemble) { return; } switch (ConditionsSelected.Value) { case EnumConditions.egale: var result = query.Where(a => SelectedProeprty.GetValue(a, null).ToString().Equals(link.Id.ToString())); Result = result.ToList(); Inputs = Result; break; case EnumConditions.ressemble: var resultRes = query.Where(a => SelectedProeprty.GetValue(a, null).ToString().Equals(link.Id.ToString())); Result = resultRes.ToList(); Inputs = Result; break; case EnumConditions.déffirent: var resultDef = query.Where(a => !SelectedProeprty.GetValue(a, null).ToString().Contains(link.Id.ToString())); Result = resultDef.ToList(); Inputs = Result; break; default: break; } } if (GetTypeName(SelectedProeprty.PropertyType) == "Boolean") { switch (ConditionsSelected.Value) { case EnumConditions.ressemble: try { var results = query.Where(s => { var value = SelectedProeprty.GetValue(s, null); if (value == null) { return(false); } return(value.ToString().Contains(Valeur)); }); Result = results.ToList(); Inputs = Result; } catch { } break; case EnumConditions.egale: var result = query.Where(s => { var value = SelectedProeprty.GetValue(s, null); if (value == null) { return(false); } return(value.ToString() == (Valeur)); }); Result = result.ToList(); Inputs = Result; break; case EnumConditions.déffirent: var resultDef = query.Where(s => { var value = SelectedProeprty.GetValue(s, null); if (value == null) { return(false); } return(!(value.ToString() == (Valeur))); }); Result = resultDef.ToList(); Inputs = Result; break; default: break; } } }
public static void OnAutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e) { var displayName = (e.PropertyDescriptor as PropertyDescriptor)?.Attributes[typeof(ExDisplayName)] as ExDisplayName; // GetPropertyDisplayName(e.PropertyDescriptor); if (displayName == null) { e.Cancel = true; return; } var isShow = (e.PropertyDescriptor as PropertyDescriptor)?.Attributes[typeof(ShowInTableAttribute)] as ShowInTableAttribute;; // GetPropertyDisplayName(e.PropertyDescriptor); if (isShow == null) { e.Cancel = true; return; } var columnAttr = (e.PropertyDescriptor as PropertyDescriptor)?.Attributes[typeof(ColumnAttribute)] as ColumnAttribute; bool estDevise = false; if (columnAttr != null) { if (columnAttr?.FieldType == ModelFieldType.Devise || (columnAttr.FieldType == ModelFieldType.ReadOnly && columnAttr.Options != "")) { estDevise = true; } } if (displayName != null && !string.IsNullOrEmpty(displayName.DisplayName) && isShow.IsShow) { // IF IS EDITABLE DETAIL TABLE if ((sender as DataGrid).Name != "datagrid") { if (e.PropertyType == typeof(Guid)) { e.Cancel = true; } if (e.Column.DependencyObjectType.SystemType == typeof(DataGridCheckBoxColumn) || e.PropertyType == typeof(Guid) || e.PropertyType == typeof(Guid) || displayName.DisplayName == _("Réf")) { e.Column.IsReadOnly = true; } else { e.Column.IsReadOnly = false; } } IsSourceAttribute attrisSource = (e.PropertyDescriptor as PropertyDescriptor).Attributes[typeof(IsSourceAttribute)] as IsSourceAttribute; // Treat column as combobox with source if (attrisSource != null) { if (!String.IsNullOrWhiteSpace(attrisSource.source)) { var cb = new DataGridComboBoxColumn(); cb.ItemsSource = DS.Generic(attrisSource.source)?.GetAll(); cb.DisplayMemberPath = $"Name"; cb.SelectedValuePath = "Id"; cb.SelectedValueBinding = new Binding($"l{attrisSource.source}"); e.Column = cb; } } if (estDevise) { DataGridTextColumn dataGridTextColumn = e.Column as DataGridTextColumn; if (dataGridTextColumn != null) { dataGridTextColumn.Binding.StringFormat = "N"; } } //if (e.PropertyType == typeof(DateTime)) //{ // DataGridTextColumn dataGridTextColumn = e.Column as DataGridTextColumn; // if (dataGridTextColumn != null) // { // dataGridTextColumn.Binding.StringFormat = "d"; // } //} e.Column.Header = displayName.DisplayName; e.Column.Width = DataGridLength.Auto; if (displayName.DisplayName == _("Crée le") && ((sender as DataGrid).Name != "datagrid" || (sender as DataGrid).Tag?.ToString() == "report")) { e.Cancel = true; return; } if (displayName.DisplayName == _("Crée par") && ((sender as DataGrid).Name != "datagrid" || (sender as DataGrid).Tag?.ToString() == "report")) { e.Cancel = true; return; } if (displayName.DisplayName == _("Status")) //|| displayName == "Crée le" { if ((sender as DataGrid).Name == "datagrid" && (sender as DataGrid).Tag?.ToString() != "report") { Style style = new Style() { TargetType = typeof(DataGridCell) }; // style.Setters.Add(new Setter(property: DataGridCell.ForegroundProperty, value: Brushes.Black)); style.Setters.Add(new Setter(property: DataGridCell.MarginProperty, value: new Thickness(10, 2, 2, 2))); style.Setters.Add(new Setter(property: DataGridCell.BackgroundProperty, value: new Binding { Converter = new BackColorConv() })); style.Setters.Add(new Setter(property: DataGridCell.ForegroundProperty, value: System.Windows.Media.Brushes.White)); e.Column.CellStyle = style; } else { e.Cancel = true; } } if ((sender as DataGrid).Name == "datagrid") { if (displayName.DisplayName == _("Réf")) { e.Column.DisplayIndex = 0; Style style = new Style() { TargetType = typeof(DataGridCell), BasedOn = App.Current.FindResource("MaterialDesignDataGridCell") as Style }; // style.Setters.Add(new Setter(property: DataGridCell.MarginProperty, value: new Thickness(0))); style.Setters.Add(new Setter(property: DataGridCell.VerticalContentAlignmentProperty, value: VerticalAlignment.Center)); style.Setters.Add(new Setter(property: DataGridCell.MinWidthProperty, value: ((double)150))); // style.Setters.Add(new Setter(property: DataGridCell.PaddingProperty, value: new Thickness(10))); style.Setters.Add(new Setter(property: DataGridCell.FontWeightProperty, value: FontWeights.SemiBold)); style.Setters.Add(new Setter(property: DataGridCell.VerticalAlignmentProperty, value: VerticalAlignment.Center)); e.Column.CellStyle = style; } if (columnAttr != null && !string.IsNullOrWhiteSpace(columnAttr.Options) && (columnAttr.FieldType == ModelFieldType.Lien)) { var c = ((e.Column as DataGridTextColumn).Binding as Binding); c.ConverterParameter = columnAttr.Options; c.Converter = objectIdConv; } } if (displayName.DisplayName == "Retard") { //Style style = new Style() //{ // TargetType = typeof(DataGridCell) //}; //style.Setters.Add(new Setter(property: DataGridCell.ForegroundProperty, value: Brushes.Black)); //style.Setters.Add(new Setter(property: DataGridCell.MarginProperty, value: new Thickness(10, 2, 2, 2))); //style.Setters.Add(new Setter(property: DataGridCell.BackgroundProperty, value: new Binding { Converter = new BackFicheAnimalColorConv() })); //e.Column.CellStyle = style; } //var bold = GetPropertyIsBold(e.PropertyDescriptor); //if ((sender as DataGrid).Name == "datagrid" && bold) //{ // Style style = new Style() // { // TargetType = typeof(DataGridCell) // }; // style.Setters.Add(new Setter(property: DataGridCell.FontWeightProperty, value: FontWeights.Bold)); // style.Setters.Add(new Setter(property: DataGridCell.VerticalAlignmentProperty, value: VerticalAlignment.Center)); // //style.Setters.Add(new Setter(property: DataGridCell.MarginProperty, value: new Thickness(10, 2, 2, 2))); // e.Column.CellStyle = style; //} } else { e.Cancel = true; } }