private void ConfigureReport() { var geoGroups = _filter.CreateParameterSet( "Части города", "geographic_groups", new ParametersFactory(UoW, (filters) => { SelectableEntityParameter <GeographicGroup> resultAlias = null; var query = UoW.Session.QueryOver <GeographicGroup>(); if (filters != null && filters.Any()) { foreach (var f in filters) { query.Where(f()); } } query.SelectList(list => list .Select(x => x.Id).WithAlias(() => resultAlias.EntityId) .Select(x => x.Name).WithAlias(() => resultAlias.EntityTitle) ); query.TransformUsing(Transformers.AliasToBean <SelectableEntityParameter <GeographicGroup> >()); return(query.List <SelectableParameter>()); }) ); District districtAlias = null; DistrictsSet districtsSetAlias = null; GeographicGroup geoGroupAlias = null; var districtParameter = _filter.CreateParameterSet( "Районы", "districts", new ParametersFactory(UoW, (filters) => { SelectableEntityParameter <District> resultAlias = null; var query = UoW.Session.QueryOver(() => districtAlias) .JoinAlias(() => districtAlias.DistrictsSet, () => districtsSetAlias) .Left.JoinAlias(() => districtAlias.GeographicGroup, () => geoGroupAlias) .Where(() => districtsSetAlias.Status == DistrictsSetStatus.Active); if (filters != null && filters.Any()) { foreach (var f in filters) { var filterCriterion = f(); if (filterCriterion != null) { query.Where(filterCriterion); } } } query.SelectList(list => list .Select(() => districtAlias.Id).WithAlias(() => resultAlias.EntityId) .Select(() => districtAlias.DistrictName).WithAlias(() => resultAlias.EntityTitle) ); var result = query.TransformUsing(Transformers.AliasToBean <SelectableEntityParameter <District> >()) .List <SelectableEntityParameter <District> >(); foreach (var parameter in result) { parameter.EntityTitle = $"{parameter.EntityId} {parameter.EntityTitle}"; } return(result.Cast <SelectableParameter>().ToList()); }) ); districtParameter.AddFilterOnSourceSelectionChanged(geoGroups, () => { var selectedValues = geoGroups.GetSelectedValues(); if (!selectedValues.Any()) { return(null); } return(Restrictions.On(() => geoGroupAlias.Id).IsIn(selectedValues.ToArray())); }); var viewModel = new SelectableParameterReportFilterViewModel(_filter); var filterWidget = new SelectableParameterReportFilterView(viewModel); vboxSelectableFilter.Add(filterWidget); filterWidget.Show(); }
public Organization GetOrganization(IUnitOfWork uow, PaymentType paymentType, bool isSelfDelivery, IEnumerable <OrderItem> orderItems = null, PaymentFrom paymentFrom = null, GeographicGroup geographicGroup = null) { if (uow == null) { throw new ArgumentNullException(nameof(uow)); } if (HasAnyOnlineStoreNomenclature(orderItems)) { return(GetOrganizationForOnlineStore(uow)); } return(isSelfDelivery ? GetOrganizationForSelfDelivery(uow, paymentType, paymentFrom) : GetOrganizationForOtherOptions(uow, paymentType, paymentFrom, geographicGroup)); }
public Organization GetOrganization(IUnitOfWork uow, PaymentType paymentType, bool isSelfDelivery, IEnumerable <OrderItem> orderItems = null, PaymentFrom paymentFrom = null, GeographicGroup geographicGroup = null) { throw new NotSupportedException(); }
private Organization GetOrganizationForOrderParameters(IUnitOfWork uow, PaymentType paymentType, bool isSelfDelivery, DateTime?orderCreateDate, IEnumerable <OrderItem> orderItems, PaymentFrom paymentFrom, GeographicGroup geographicGroup) { if (uow == null) { throw new ArgumentNullException(nameof(uow)); } if (HasAnyOnlineStoreNomenclature(orderItems)) { return(GetOrganizationForOnlineStore(uow)); } return(isSelfDelivery ? GetOrganizationForSelfDelivery(uow, paymentType, orderCreateDate, paymentFrom, geographicGroup) : GetOrganizationForOtherOptions(uow, paymentType, orderCreateDate, paymentFrom, geographicGroup)); }
private void ConfigureReport() { treeviewDeliveryIntervals.ColumnsConfig = FluentColumnsConfig <Time> .Create() .AddColumn("").AddTextRenderer(x => $"{x.Value:hh\\:mm}") .Finish(); treeviewDeliveryIntervals.ItemsDataSource = Times; treeviewDeliveryIntervals.HeadersVisible = false; var geoGroups = filter.CreateParameterSet( "Части города", "geographic_groups", new ParametersFactory(UoW, (filters) => { SelectableEntityParameter <GeographicGroup> resultAlias = null; var query = UoW.Session.QueryOver <GeographicGroup>(); if (filters != null && filters.Any()) { foreach (var f in filters) { query.Where(f()); } } query.SelectList(list => list .Select(x => x.Id).WithAlias(() => resultAlias.EntityId) .Select(x => x.Name).WithAlias(() => resultAlias.EntityTitle) ); query.TransformUsing(Transformers.AliasToBean <SelectableEntityParameter <GeographicGroup> >()); return(query.List <SelectableParameter>()); }) ); District districtAlias = null; GeographicGroup geoGroupAlias = null; var districtParameter = filter.CreateParameterSet( "Районы", "districts", new ParametersFactory(UoW, (filters) => { SelectableEntityParameter <District> resultAlias = null; var query = UoW.Session.QueryOver <District>(() => districtAlias) .Left.JoinAlias(() => districtAlias.GeographicGroup, () => geoGroupAlias); if (filters != null && filters.Any()) { foreach (var f in filters) { var filterCriterion = f(); if (filterCriterion != null) { query.Where(filterCriterion); } } } query.SelectList(list => list .Select(() => districtAlias.Id).WithAlias(() => resultAlias.EntityId) .Select(() => districtAlias.DistrictName).WithAlias(() => resultAlias.EntityTitle) ); var result = query.TransformUsing(Transformers.AliasToBean <SelectableEntityParameter <District> >()) .List <SelectableEntityParameter <District> >(); foreach (var parameter in result) { parameter.EntityTitle = $"{parameter.EntityId} {parameter.EntityTitle}"; } return(result.Cast <SelectableParameter>().ToList()); }) ); districtParameter.AddFilterOnSourceSelectionChanged(geoGroups, () => { var selectedValues = geoGroups.GetSelectedValues(); if (!selectedValues.Any()) { return(null); } return(Restrictions.On(() => geoGroupAlias.Id).IsIn(selectedValues.ToArray())); }); var viewModel = new SelectableParameterReportFilterViewModel(filter); var filterWidget = new SelectableParameterReportFilterView(viewModel); vboxParameters.Add(filterWidget); filterWidget.Show(); }
public static long GetHash(GeographicGroup point) => GetHash((double)point.BaseLatitude.Value, (double)point.BaseLongitude.Value);