Beispiel #1
0
 FantomModel[] IFantomService.GetFantoms(ApplicationVersion applicationVersion, FantomFilterModel filter)
 {
     return(RunSecurity(applicationVersion, (user) =>
     {
         CheckRightsFantom(user);
         return _RepositoryFantom.GetFantoms(filter);
     }));
 }
Beispiel #2
0
 public FantomModel[] GetFantoms(FantomFilterModel filter)
 {
     if (FantomFilterModel.IsNull(filter))
     {
         throw new ArgumentNullException("Значение фильтра не было получено");
     }
     if (filter.PeriodFromDate.HasValue)
     {
         CheckDate(filter.PeriodFromDate.Value);
     }
     if (filter.PeriodToDate.HasValue)
     {
         CheckDate(filter.PeriodToDate.Value);
     }
     filter.SupplierName = filter.SupplierName.ToStringTrim();
     FantomModel[] rezult = null;
     Util.DoAction <T>(p =>
     {
         IQueryable <Pay> queryPay           = p.Pays;
         IQueryable <Supplier> querySupplier = p.Suppliers;
         if (filter.PeriodFromDate.HasValue)
         {
             var date = filter.PeriodFromDate.Value.Date.AddMilliseconds(-1);
             queryPay = queryPay.Where(z => z.PeriodDate > date);
         }
         if (filter.PeriodToDate.HasValue)
         {
             var date = filter.PeriodToDate.Value.Date.AddDays(1);
             queryPay = queryPay.Where(z => z.PeriodDate < date);
         }
         if (filter.TypeAcc.HasValue)
         {
             var type = (int)filter.TypeAcc.Value;
             queryPay = queryPay.Where(z => z.Action == type);
         }
         if (filter.TypeCurrency.HasValue)
         {
             var type = (int)filter.TypeCurrency.Value;
             queryPay = queryPay.Where(z => z.Currency == type);
         }
         if (!String.IsNullOrWhiteSpace(filter.SupplierName))
         {
             querySupplier = querySupplier.Where(z => z.Name.Contains(filter.SupplierName));
         }
         rezult = (from fan in queryPay
                   join s in querySupplier on fan.Supplier equals s.UID
                   select new FantomModel
         {
             UID = fan.UID,
             Comment = fan.Commеnt,
             EventDate = fan.EventDate,
             Sum = fan.Sum,
             PeriodDate = fan.PeriodDate,
             SupplierName = s.Name,
             Currency = (TypeCurrencyEnum)(int)fan.Currency,
             TypeAccount = (TypeAccEnum)(int)fan.Action
         })
                  .ToArray();
     });
     return(rezult);
 }