Example #1
0
        public Int64 GetUIDLocal(ISession session, String labelSystemName, Boolean max)
        {
            String imapDatabaseField;
            Int64  lastDatabaseUID;

            switch (labelSystemName)
            {
            case "Trash":
                imapDatabaseField = "UidTrash";
                break;

            case "Junk":
                imapDatabaseField = "UidSpam";
                break;

            default:
                imapDatabaseField = "UidAll";
                break;
            }
            if (max) //maximo
            {
                lastDatabaseUID = session.CreateCriteria <MailEntity>()
                                  .Add(Restrictions.Eq("MailAccountEntity", this.Entity))
                                  .SetProjection(Projections.Max(imapDatabaseField))
                                  .UniqueResult <Int64>();
            }
            else //minimo
            {
                lastDatabaseUID = session.CreateCriteria <MailEntity>()
                                  .Add(Restrictions.Eq("MailAccountEntity", this.Entity))
                                  .SetProjection(Projections.Min(imapDatabaseField))
                                  .UniqueResult <Int64>();
            }
            return(lastDatabaseUID); //devuelve 0 si no existen mails
        }
Example #2
0
        public IEnumerable <ValoresDiarios> GetAggregatesDiarios(int dispositivo, string sensorCode, DateTime desde, DateTime hasta)
        {
            var sensorDao = new SensorDAO();
            var sensor    = sensorDao.FindByCode(dispositivo, sensorCode);

            if (sensor == null)
            {
                return(new List <ValoresDiarios>(0));
            }

            ValoresDiarios valoresDiarios = null;
            var            byDate         = Projections.SqlFunction("date", NHibernateUtil.Date,
                                                                    Projections.Group <Medicion>(a => a.FechaMedicion));

            return(Session.QueryOver <Medicion>()
                   .Where(m => m.Dispositivo.Id == dispositivo && m.Sensor.Id == sensor.Id)
                   .And(m => m.FechaMedicion >= desde && m.FechaMedicion <= hasta)
                   .SelectList(x => x
                               .Select(Projections.Max <Medicion>(m => m.ValorNum1).WithAlias(() => valoresDiarios.Max))
                               .Select(Projections.Min <Medicion>(m => m.ValorNum1).WithAlias(() => valoresDiarios.Min))
                               .Select(Projections.Avg <Medicion>(m => m.ValorNum1).WithAlias(() => valoresDiarios.Avg))
                               .Select(Projections.GroupProperty(byDate).WithAlias(() => valoresDiarios.Date))
                               )
                   .OrderBy(byDate).Asc
                   .TransformUsing(Transformers.AliasToBean <ValoresDiarios>())
                   .List <ValoresDiarios>());
        }
Example #3
0
        /// <summary>
        /// Gets aggregate activity for each specified transport company.
        /// </summary>
        /// <param name="desde"></param>
        /// <param name="hasta"></param>
        /// <param name="ids"></param>
        /// <returns></returns>
        public IEnumerable <TransportActivity> GetTransportActivities(DateTime desde, DateTime hasta, List <int> ids)
        {
            TransportActivity ta = null;

            DetachedCriteria dc = GetDatamartDetachedCriteria(ids.ToArray()).FilterBeginBetween(desde, hasta);

            ProjectionList pl = Projections.ProjectionList();

            pl.Add(Projections.Sum <Datamart>(dm => dm.MovementHours).WithAlias(() => ta.HsActivos));
            pl.Add(Projections.Sum <Datamart>(dm => dm.StoppedHours).WithAlias(() => ta.HsInactivos));
            pl.Add(Projections.Sum <Datamart>(dm => dm.InfractionMinutes).WithAlias(() => ta.HsInfraccion));
            pl.Add(Projections.Sum <Datamart>(dm => dm.Infractions).WithAlias(() => ta.Infracciones));
            pl.Add(Projections.Sum <Datamart>(dm => dm.Kilometers).WithAlias(() => ta.Recorrido));
            pl.Add(Projections.Max <Datamart>(dm => dm.MaxSpeed).WithAlias(() => ta.VelocidadMaxima));
            pl.Add(Projections.Avg <Datamart>(dm => dm.AverageSpeed).WithAlias(() => ta.VelocidadPromedio));
            pl.Add(Projections.Group <Datamart>(dm => dm.Vehicle.Id).WithAlias(() => ta.IdVehiculo));

            ICriteria crit = GetDatamartCriteria(0, dc, pl, null, typeof(TransportActivity));
            IList <TransportActivity> results = crit.List <TransportActivity>();

            var cocheDAO = new CocheDAO();

            foreach (TransportActivity r in results)
            {
                Coche coche = cocheDAO.FindById(r.Id);
                r.HsInfraccion  /= 60;
                r.Transport      = coche.Transportista.Descripcion;
                r.CentroDeCostos = coche.CentroDeCostos != null ? coche.CentroDeCostos.Descripcion : null;
                r.TipoVehiculo   = coche.TipoCoche != null ? coche.TipoCoche.Descripcion : null;
            }
            return(results);
        }
        public int GetMaxIdControl()
        {
            List <IProjection> lista = new List <IProjection>();

            lista.Add(Projections.Max("IdControl"));
            return(GetUniqueProjection(lista.ToArray()));
        }
        public DateTime?GetLastDateClosing()
        {
            ICriteria criteria = Session.CreateCriteria(typeof(TRecPeriod))
                                 .SetProjection(Projections.Max("PeriodTo"));
            object obj = criteria.UniqueResult();

            if (obj != null)
            {
                return(Convert.ToDateTime(obj));
            }
            else
            {
                return(null);
            }

            DateTime dt = criteria.FutureValue <DateTime>().Value;

            return(dt);

            try
            {
            }
            catch (Exception)
            {
                return(null);
            }
        }
Example #6
0
 private int GetMaxParentDisplayOrder(Document parent, ISession session)
 {
     return(session.QueryOver <Document>()
            .Where(doc => doc.Parent.Id == parent.Id)
            .Select(Projections.Max <Document>(d => d.DisplayOrder))
            .SingleOrDefault <int>());
 }
        public virtual void SavePhotoInfo(Photo photo)
        {
            // Obtain current NHibernate session.
            ISession session = this._sessionManager.OpenSession();

            // can't seem to get this to work automagically
            if (photo.Id == -1)
            {
                int order;
                if (photo.Album.PhotoCount > 0)
                {
                    order = Convert.ToInt32(session.CreateCriteria(typeof(Photo))
                                            .SetProjection(Projections.Max("Id")).List()[0]) + 1;
                }
                else
                {
                    order = 1;
                }
                photo.Order = order;
                session.Save(photo);
                UpdatePhotoCount(photo.Album.Id);
            }
            else
            {
                session.SaveOrUpdate(photo);
                UpdatePhotoCount(photo.Album.Id);
            }
        }
Example #8
0
    protected override void DoSearch()
    {
        if (SearchEvent != null)
        {
            DateTime startDate = DateTime.Parse(this.tbStartDate.Text.Trim());


            DetachedCriteria selectCriteria = DetachedCriteria.For(typeof(RollingForecast));
            SecurityHelper.SetPartySearchCriteria(selectCriteria, "Supplier.Code", this.CurrentUser.Code);

            if (this.tbSupplier.Text.Trim() != string.Empty)
            {
                selectCriteria.Add(Expression.Eq("Supplier.Code", this.tbSupplier.Text.Trim()));
            }

            selectCriteria.Add(Expression.Ge("Date", startDate));
            selectCriteria.Add(Expression.Lt("Date", startDate.AddDays(140)));


            selectCriteria.SetProjection(Projections.ProjectionList()
                                         .Add(Projections.GroupProperty("Supplier").As("Supplier"))
                                         .Add(Projections.GroupProperty("Item").As("Item"))
                                         .Add(Projections.Max("Id").As("Id")));


            DetachedCriteria selectCountCriteria = CloneHelper.DeepClone <DetachedCriteria>(selectCriteria);
            selectCountCriteria.SetProjection(Projections.Count("Id"));
            SearchEvent((new object[] { selectCriteria, selectCountCriteria, startDate, this.IsExport }), null);
        }
    }
Example #9
0
        public void SimpleQueries()
        {
            using (ISession session = SessionFactory.OpenSession())
            {
                int result = (int)session.CreateCriteria(typeof(Customer)).SetProjection(Projections.RowCount()).UniqueResult();

                session.CreateCriteria(typeof(Customer))
                .CreateCriteria("Orders", "o")
                .Add(Restrictions.Gt("o.Value", 90m))
                .List <Customer>();

                session.CreateCriteria <Customer>()
                .CreateCriteria("Orders", "o")
                .SetProjection(Projections.RowCount())
                .SetProjection(Projections.GroupProperty("LastName"))
                .SetProjection(Projections.Max("o.Value"))
                .List();

                foreach (var customer in session.CreateCriteria <Customer>().List <Customer>())
                {
                    var orderCound = customer.Orders.Count;
                }

                Assert.AreEqual(10, result);
            }
        }
 public IList <AcompanhamentoProducaoM2Consulta> ObterAcompanhamentoProducaoM2PorData(DateTime dataRecebimento, int tipoProcessoId)
 {
     return(this.Session.CreateCriteria(typeof(Processo))
            .CreateAlias("Lote", "Lote")
            .CreateAlias("Lote.PacoteProcessado", "PP")
            .Add(Restrictions.Between("PP.ArquivoRecebidoEm", dataRecebimento.Date, dataRecebimento.Date.AddDays(1)))
            .Add(tipoProcessoId > 0 ? Restrictions.Eq("TipoDeProcesso.Id", tipoProcessoId) : Restrictions.IsNotNull("TipoDeProcesso"))
            .SetProjection(Projections.ProjectionList()
                           .Add(Projections.Alias(Projections.GroupProperty("PP.Id"), "PacoteId"))
                           .Add(Projections.Alias(Projections.GroupProperty("PP.Arquivo"), "NomeArquivo"))
                           .Add(Projections.Alias(Projections.Max("PP.ArquivoRecebidoEm"), "DataRecepcao"))
                           .Add(Projections.Alias(Projections.Max("PP.ArquivoImportadoEm"), "DataImportacao"))
                           .Add(Projections.Alias(Projections.Max("Lote.DataFimIcr"), "DataOcr"))
                           .Add(Projections.Alias(Projections.Max("Lote.DataFimIdentificacao"), "DataIdentificacao"))
                           .Add(Projections.Alias(Projections.Max("Lote.DataFimDaMontagem"), "DataMontagem"))
                           .Add(Projections.Alias(Projections.Max("Lote.DataFimDigitacao"), "DataDigitacao"))
                           .Add(Projections.Alias(Projections.Max("Lote.DataFimValidacao"), "DataValidacao"))
                           .Add(Projections.Alias(Projections.Max("Lote.DataFimProvaZero"), "DataProvaZero"))
                           .Add(Projections.Alias(Projections.Max("Lote.DataFimFormalistica"), "DataFormalistica"))
                           .Add(Projections.Alias(Projections.Max("Lote.DataAguardandoAprovacao"), "DataAprovacao"))
                           .Add(Projections.Alias(Projections.Max("Lote.DataFimExportacao"), "DataExportacao"))
                           .Add(Projections.Alias(Projections.Max("Lote.DataFinalizacao"), "DataFim")))
            .SetResultTransformer(Transformers.AliasToBean(typeof(AcompanhamentoProducaoM2Consulta)))
            .AddOrder(Order.Asc("PacoteId"))
            .List <AcompanhamentoProducaoM2Consulta>());
 }
Example #11
0
        public void TestReturnedOperations()
        {
            ProjectionExitOperationFactory factory = ProjectionExitOperationFactory.GetFactory();
            var sessionFactory = Mock <ISessionFactoryImplementor>();

            using (Mocks.Record())
            {
            }
            using (Mocks.Playback())
            {
                Assert.IsInstanceOf(typeof(RowCountExitOperation),
                                    factory.GetProjectionExitOperation(Projections.RowCount(), sessionFactory));
                Assert.IsInstanceOf(typeof(AggregateExitOperation),
                                    factory.GetProjectionExitOperation(Projections.Max("foo"), sessionFactory));
                Assert.IsInstanceOf(typeof(AggregateExitOperation),
                                    factory.GetProjectionExitOperation(Projections.Min("foo"), sessionFactory));
                Assert.IsInstanceOf(typeof(AggregateExitOperation),
                                    factory.GetProjectionExitOperation(Projections.Sum("foo"), sessionFactory));
                try
                {
                    factory.GetProjectionExitOperation(Projections.Avg("foo"), sessionFactory);
                    Assert.Fail("example of one that we don't yet support");
                }
                catch (ArgumentException e)
                {
                    // good
                }
            }
        }
 private int GetMaxParentDisplayOrder(Document document, ISession session)
 {
     if (document.Parent != null)
     {
         return(session.QueryOver <Document>()
                .Where(doc => doc.Parent.Id == document.Parent.Id)
                .Select(Projections.Max <Document>(d => d.DisplayOrder))
                .SingleOrDefault <int>());
     }
     if (document is MediaCategory)
     {
         List <MediaCategory> documentsByParent = _getDocumentParents.GetDocumentsByParent <MediaCategory>(null)
                                                  .Where(category => category != document).ToList();
         return(documentsByParent.Any()
             ? documentsByParent.Max(category => category.DisplayOrder) + 1
             : 0);
     }
     if (document is Layout)
     {
         List <Layout> documentsByParent = _getDocumentParents.GetDocumentsByParent <Layout>(null)
                                           .Where(layout => layout != document).ToList();
         return(documentsByParent.Any()
             ? documentsByParent.Max(category => category.DisplayOrder) + 1
             : 0);
     }
     else
     {
         List <Webpage> documentsByParent = _getDocumentParents.GetDocumentsByParent <Webpage>(null)
                                            .Where(webpage => webpage != document).ToList();
         return(documentsByParent.Any()
             ? documentsByParent.Max(category => category.DisplayOrder) + 1
             : 0);
     }
 }
Example #13
0
        public List <long> GetTubineBladesWithMaxTempInAVGorMAX()
        {
            using (ITransaction transaction = session.BeginTransaction())
            {
                List <long>  results           = null;
                TurbineBlade turbineBladeAlias = null;

                QueryOver <TurbineBlade> subqueryAVG =
                    QueryOver.Of <TurbineBlade>()
                    .SelectList(list => list.SelectMax(tb => tb.MaxTemp));

                QueryOver <TurbineBlade> subqueryMAX =
                    QueryOver.Of <TurbineBlade>()
                    .SelectList(list => list.SelectMax(tb => tb.MaxTemp));

                QueryOver <TurbineBlade> subqueryAVGMAX =
                    QueryOver.Of <TurbineBlade>(() => turbineBladeAlias)
                    .Select(Projections.Avg(Projections.Property(() => turbineBladeAlias.MaxTemp)))
                    .Select(Projections.Max(Projections.Property(() => turbineBladeAlias.MaxTemp)));

                results = session.QueryOver <TurbineBlade>(() => turbineBladeAlias)
                          //.Where(() => turbineBladeAlias.MaxTemp.IsIn(new object[] {subqueryMAX, subqueryAVG}))
                          .WithSubquery
                          .WhereProperty(() => turbineBladeAlias.MaxTemp).In(subqueryAVGMAX)
                          .Select(tb => tb.Id)
                          .List <long>().ToList();


                transaction.Commit();
                return(results);
            }
        }
Example #14
0
        private Comment AddPost(string text)
        {
            Comment newComment = new Comment();

            using (ISession session = NHibernateSession.OpenSession())
            {
                HttpContextWrapper context = (HttpContextWrapper)Request.Properties["MS_HttpContext"];

                var max = session.CreateCriteria <Comment>().SetProjection(Projections.Max("rgt")).UniqueResult();
                int lft = max == null?0:(int)max;

                newComment.Text          = text;
                newComment.lft           = lft + 1;
                newComment.rgt           = lft + 2;
                newComment.indent        = 0;
                newComment.CreationDate  = DateTime.Now;
                newComment.Creator       = session.QueryOver <UserProfile>().Where(u => u.UserName == context.User.Identity.Name).List()[0];
                newComment.CommenterName = context.User.Identity.Name;

                using (var tx = session.BeginTransaction())
                {
                    session.SaveOrUpdate(newComment);
                    tx.Commit();
                }
            }
            return(newComment);
        }
Example #15
0
        private IList <LocationTransaction> GetLocationTransaction(int mark)
        {
            DetachedCriteria criteria = DetachedCriteria.For(typeof(LocationTransaction));

            criteria.Add(Expression.Eq("IsSubcontract", false));
            criteria.Add(Expression.In("TransactionType", new string[] {
                BusinessConstants.CODE_MASTER_LOCATION_TRANSACTION_TYPE_VALUE_RCT_WO,
                BusinessConstants.CODE_MASTER_LOCATION_TRANSACTION_TYPE_VALUE_ISS_WO,
                BusinessConstants.CODE_MASTER_LOCATION_TRANSACTION_TYPE_VALUE_ISS_WO_BF
            }));
            criteria.Add(Expression.Gt("Id", mark));

            criteria.SetProjection(Projections.ProjectionList()
                                   .Add(Projections.Max("Id").As("Id"))
                                   .Add(Projections.GroupProperty("OrderNo").As("OrderNo"))
                                   .Add(Projections.GroupProperty("OrderDetailId").As("OrderDetailId"))
                                   .Add(Projections.GroupProperty("OrderLocationTransactionId").As("OrderLocationTransactionId"))
                                   .Add(Projections.GroupProperty("TransactionType").As("TransactionType"))
                                   .Add(Projections.GroupProperty("Item").As("Item"))
                                   .Add(Projections.GroupProperty("Location").As("Location"))
                                   .Add(Projections.Sum("Qty").As("Qty"))
                                   .Add(Projections.GroupProperty("EffectiveDate").As("EffectiveDate"))
                                   .Add(Projections.GroupProperty("PartyFrom").As("PartyFrom"))
                                   .Add(Projections.GroupProperty("PartyTo").As("PartyTo"))
                                   .Add(Projections.GroupProperty("RefLocation").As("RefLocation")));

            criteria.SetResultTransformer(Transformers.AliasToBean(typeof(LocationTransaction)));
            return(criteriaMgr.FindAll <LocationTransaction>(criteria));
        }
        public int PostConsejeriaNew([FromBody] ConsejeriaNewDatos consejeriaNewDatos)
        {
            var usuaria = this.consejeriaDtoMapper.MapDtoToUsuaria(new UsuariaDto {
                Apellido        = consejeriaNewDatos.Apellido,
                Direccion       = consejeriaNewDatos.Direccion,
                Edad            = consejeriaNewDatos.Edad,
                Nombre          = consejeriaNewDatos.Nombre,
                NacionalidadId  = consejeriaNewDatos.NacionalidadId,
                FechaNacimiento = consejeriaNewDatos.FechaNacimiento,
                Telefono        = consejeriaNewDatos.Telefono
            });

            this.sessionFactory.SaveOrUpdateEntity(usuaria);

            var criteria = this.sessionFactory.CreateCriteria <ConsejeriaEntidad>();

            criteria.SetProjection(Projections.Max("Numero"));
            var numero     = (int)criteria.UniqueResult();
            var consejeria = this.consejeriaDtoMapper.MapDtoToConsejeria(new ConsejeriaDto {
                FechaIngreso = DateTime.Now,
                Numero       = numero + 1,
                Observacion  = consejeriaNewDatos.Observacion,
                Usuarie1Id   = consejeriaNewDatos.Usuarie1Id,
                Usuarie2Id   = consejeriaNewDatos.Usuarie2Id,
            });

            consejeria.Usuaria = usuaria;
            this.sessionFactory.SaveOrUpdateEntity(consejeria);
            return(consejeria.Id);
        }
Example #17
0
        public virtual IList <LatestChangedResourceResult> GetAllLatestChangedResource(IEnumerable <long> projectIdList)
        {
            ResourceVersion             resourceVersionAlias  = null;
            Resource                    resourceAlias         = null;
            Project                     projectAlias          = null;
            ResourceVersion             resourceVersionAlias2 = null;
            Resource                    resourceAlias2        = null;
            LatestChangedResourceResult resultAlias           = null;

            var result = GetSession().QueryOver(() => resourceVersionAlias)
                         .JoinAlias(() => resourceVersionAlias.Resource, () => resourceAlias)
                         .JoinAlias(() => resourceAlias.Project, () => projectAlias)
                         .WhereRestrictionOn(() => resourceAlias.Project.Id).IsInG(projectIdList)
                         .And(() => projectAlias.IsRemoved == false)
                         .And(x => x.Id == resourceAlias.LatestVersion.Id /*&& !resourceAlias.IsRemoved*/)
                         .WithSubquery.Where(() => resourceVersionAlias.CreateTime == QueryOver.Of(() => resourceAlias2)
                                             .JoinAlias(() => resourceAlias2.LatestVersion, () => resourceVersionAlias2)
                                             .Where(() => resourceAlias2.Project.Id == resourceAlias.Project.Id)
                                             .Select(Projections.Max(() => resourceVersionAlias2.CreateTime))
                                             .Take(1)
                                             .As <DateTime>())
                         .SelectList(list => list
                                     .SelectGroup(() => resourceAlias.Project.Id).WithAlias(() => resultAlias.ProjectId)
                                     .SelectMax(() => resourceVersionAlias.CreateTime).WithAlias(() => resultAlias.CreateTime)
                                     .SelectMin(() => resourceVersionAlias.CreatedByUser.Id).WithAlias(() => resultAlias.CreatedByUserId))
                         .TransformUsing(Transformers.AliasToBean <LatestChangedResourceResult>())
                         .List <LatestChangedResourceResult>();

            return(result);
        }
Example #18
0
        public void ProjectionsExpressions()
        {
            IProjection p = Projections.Avg("StudentNumber");

            NHAssert.IsSerializable(p);
            p = Projections.Count("StudentNumber");
            NHAssert.IsSerializable(p);
            p = Projections.CountDistinct("StudentNumber");
            NHAssert.IsSerializable(p);
            p = Projections.GroupProperty("Name");
            NHAssert.IsSerializable(p);
            p = Projections.Id();
            NHAssert.IsSerializable(p);
            p = Projections.Max("StudentNumber");
            NHAssert.IsSerializable(p);
            p = Projections.Min("StudentNumber");
            NHAssert.IsSerializable(p);
            p = Projections.Property("StudentNumber");
            NHAssert.IsSerializable(p);
            p = Projections.RowCount();
            NHAssert.IsSerializable(p);
            p = Projections.Sum("StudentNumber");
            NHAssert.IsSerializable(p);

            p = Projections.Alias(Projections.Count("StudentNumber"), "alias");
            NHAssert.IsSerializable(p);
            p = Projections.Distinct(Projections.Id());
            NHAssert.IsSerializable(p);
            p = Projections.ProjectionList().Add(Projections.Max("StudentNumber"));
            NHAssert.IsSerializable(p);
        }
Example #19
0
        public async Task CanPageAndSortResultsWithParametersAndFiltersAsync()
        {
            using (ISession s = OpenSession())
            {
                s.EnableFilter("ExampleFilter").SetParameter("WeightVal", 100);
                DetachedCriteria dc = DetachedCriteria.For <Person>().CreateCriteria("Pets", "pets")
                                      .SetProjection(Projections.Max("pets.Weight"))
                                      .Add(Restrictions.Eq("pets.Weight", 10.0));
                ICriteria c = s.CreateCriteria(typeof(Person))
                              .SetProjection(Projections.ProjectionList()
                                             .Add(Projections.SubQuery(dc), "Weight")
                                             .Add(Projections.Property("Name"), "Name"))
                              .Add(Restrictions.Eq("Name", "Joe"));

                c.SetResultTransformer(Transformers.AliasToBean(typeof(HeaviestPet)));
                c.SetMaxResults(1);
                c.AddOrder(new Order("Id", true));
                IList <HeaviestPet> list = await(c.ListAsync <HeaviestPet>());
                Assert.AreEqual(1, list.Count);
                foreach (HeaviestPet pet in list)
                {
                    Assert.AreEqual("Joe", pet.Name);
                    Assert.AreEqual(10.0, pet.Weight);
                }
            }
        }
Example #20
0
        public void ProjectionAndGroupTest()
        {
            using var session = NHibernateHelper.OpenSession();
            var actual = session.CreateCriteria <Cat>()
                         .SetProjection(Projections.ProjectionList()
                                        .Add(Projections.RowCount())
                                        .Add(Projections.Avg("Weight"))
                                        .Add(Projections.Max("Weight"))
                                        .Add(Projections.GroupProperty("Sex")))
                         .List();

            var expected = _cats
                           .GroupBy(c => c.Sex)
                           .Select(x => new
            {
                Count = x.Count(),
                Avg   = x.Average(c => c.Weight),
                Max   = x.Max(c => c.Weight),
                Sex   = x.Key,
            })
                           .ToList();

            actual.Count.ShouldBe(expected.Count);
            foreach (var item in actual)
            {
                var row          = (item as IList);
                var expectedItem = expected.First(c => c.Sex == (char)row[3]);
                row[0].ShouldBe(expectedItem.Count);
                Math.Round((double)row[1], 3).ShouldBe(Math.Round(expectedItem.Avg, 3));
                Math.Round((float)row[2], 3).ShouldBe(Math.Round(expectedItem.Max, 3));
            }
        }
Example #21
0
        public static IList <DriverPosition> GetLastPointForRouteLists(IUnitOfWork uow, int[] routeListsIds, DateTime?beforeTime = null)
        {
            Track          trackAlias = null;
            TrackPoint     subPoint   = null;
            DriverPosition result     = null;

            var lastTimeTrackQuery = QueryOver.Of <TrackPoint>(() => subPoint)
                                     .Where(() => subPoint.Track.Id == trackAlias.Id);

            if (beforeTime.HasValue)
            {
                lastTimeTrackQuery.Where(p => p.TimeStamp <= beforeTime);
            }

            lastTimeTrackQuery.Select(Projections.Max(() => subPoint.TimeStamp));

            return(uow.Session.QueryOver <TrackPoint>()
                   .JoinAlias(p => p.Track, () => trackAlias)
                   .Where(() => trackAlias.RouteList.Id.IsIn(routeListsIds))
                   .WithSubquery.WhereProperty(p => p.TimeStamp).Eq(lastTimeTrackQuery)
                   .SelectList(list => list
                               .Select(() => trackAlias.Driver.Id).WithAlias(() => result.DriverId)
                               .Select(() => trackAlias.RouteList.Id).WithAlias(() => result.RouteListId)
                               .Select(x => x.TimeStamp).WithAlias(() => result.Time)
                               .Select(x => x.Latitude).WithAlias(() => result.Latitude)
                               .Select(x => x.Longitude).WithAlias(() => result.Longitude)
                               ).TransformUsing(Transformers.AliasToBean <DriverPosition>())
                   .List <DriverPosition>());
        }
Example #22
0
        public void ProdsWDate()
        {
            ISession session = GetConfiguration().BuildSessionFactory().OpenSession();

            Category category = new Category()
            {
                Id = 1
            };

            DetachedCriteria criteria = DetachedCriteria.For <Income>();

            criteria.CreateAlias("Product", "p");
            criteria.CreateAlias("p.Category", "c");
            criteria.SetProjection(
                Projections.ProjectionList()
                .Add(Projections.GroupProperty("Product"))
                .Add(Projections.GroupProperty("c.Name"))
                .Add(Projections.Max("Date")));
            //criteria.Add(Restrictions.Eq("p.Category", category));
            criteria.AddOrder(NHibernate.Criterion.Order.Asc("c.Name"));
            var list = criteria.GetExecutableCriteria(session).List();

            foreach (var VARIABLE in list)
            {
            }
        }
Example #23
0
        public IList <RecentRequestsDto> GetRecentRequests(int userId)
        {
            SimpleExpression statusActive      = Restrictions.Eq(Projections.Property("Request.StatusId"), 1);
            SimpleExpression statusUnderReview = Restrictions.Eq(Projections.Property("Request.StatusId"), 3);

            ICriteria criteria = Session
                                 .CreateCriteria(typeof(TimeEntry))
                                 .CreateAlias("Request", "Request")
                                 .CreateAlias("Request.WrmsSystem", "RequestWrmsSystem")
                                 .Add(Restrictions.Eq("UserId", userId))
                                 .Add(Restrictions.Or(statusActive, statusUnderReview))

                                 // SELECT
                                 .SetProjection(Projections.ProjectionList()
                                                .Add(
                                                    Projections.Distinct(
                                                        Projections.GroupProperty(Projections.Property("Request.ShortDesc"))),
                                                    "RequestName")
                                                .Add(Projections.Max((Projections.Property("LastUpdateTimeStamp"))))
                                                .Add(Projections.GroupProperty(Projections.Property("RequestWrmsSystem.Code")),
                                                     "SystemName")
                                                .Add(Projections.GroupProperty(Projections.Property("Request.Id")), "Id")
                                                );

            //GROUP BY, ORDER BY
            criteria.AddOrder(Order.Desc(Projections.Max("LastUpdateTimeStamp")))
            .SetMaxResults(20)

            // CONVERT
            .SetResultTransformer(Transformers.AliasToBean(typeof(RecentRequestsDto)));

            return(criteria.List <RecentRequestsDto>());
        }
Example #24
0
    protected override void SetCriteria()
    {
        DetachedCriteria criteria = DetachedCriteria.For(typeof(CycleCountResult));

        criteria.CreateAlias("CycleCount", "cc");
        criteria.CreateAlias("cc.Location", "l");

        #region Customize
        SecurityHelper.SetRegionSearchCriteria(criteria, "l.Region.Code", this.CurrentUser.Code); //区域权限
        OrderHelper.SetActiveOrderStatusCriteria(criteria, "cc.Status");                          //状态
        #endregion

        #region Select Parameters
        CriteriaHelper.SetPartyCriteria(criteria, "l.Region.Code", this._criteriaParam);
        CriteriaHelper.SetLocationCriteria(criteria, "cc.Location.Code", this._criteriaParam);
        CriteriaHelper.SetStartDateCriteria(criteria, "cc.EffectiveDate", this._criteriaParam);
        CriteriaHelper.SetEndDateCriteria(criteria, "cc.EffectiveDate", this._criteriaParam);
        CriteriaHelper.SetStorageBinCriteria(criteria, "StorageBin.Code", this._criteriaParam);
        CriteriaHelper.SetItemCriteria(criteria, "Item.Code", this._criteriaParam);
        CriteriaHelper.SetOrderNoCriteria(criteria, "CycleCount.Code", this._criteriaParam, MatchMode.Start);
        #endregion

        #region Projections
        ProjectionList projectionList = Projections.ProjectionList()
                                        .Add(Projections.Max("Id").As("Id"))
                                        .Add(Projections.Sum("Qty").As("Qty"))
                                        .Add(Projections.Sum("InvQty").As("InvQty"))
                                        .Add(Projections.Sum("DiffQty").As("DiffQty"))
                                        .Add(Projections.Count("HuId").As("Cartons"))
                                        .Add(Projections.GroupProperty("Item").As("Item"));

        if (!this._criteriaParam.ClassifiedOrderNo)
        {
            projectionList.Add(Projections.GroupProperty("CycleCount").As("CycleCount"));
        }
        if (!this._criteriaParam.ClassifiedLocation)
        {
            projectionList.Add(Projections.GroupProperty("cc.Location").As("Location"));
        }
        if (!this._criteriaParam.ClassifiedBin)
        {
            projectionList.Add(Projections.GroupProperty("StorageBin").As("StorageBin"));//库格
        }
        if (!this._criteriaParam.ClassifiedHuId)
        {
            projectionList.Add(Projections.GroupProperty("HuId").As("HuId"));                           //条码
            projectionList.Add(Projections.GroupProperty("LotNo").As("LotNo"));                         //批号
            projectionList.Add(Projections.GroupProperty("ReferenceLocation").As("ReferenceLocation")); //参考库位
            projectionList.Add(Projections.GroupProperty("DiffReason").As("DiffReason"));               //差异原因
        }

        criteria.SetProjection(projectionList);
        criteria.SetResultTransformer(Transformers.AliasToBean(typeof(CycleCountResult)));
        #endregion

        DetachedCriteria selectCountCriteria = CloneHelper.DeepClone <DetachedCriteria>(criteria);
        selectCountCriteria.SetProjection(Projections.Count("Id"));
        SetSearchCriteria(criteria, selectCountCriteria);
    }
Example #25
0
        public void maximum()
        {
            var mostItemsInStock = Session.CreateCriteria <Product>()
                                   .SetProjection(Projections.Max("UnitsInStock"))
                                   .UniqueResult <int>();

            Assert.AreEqual(_products.Max(p => p.UnitsInStock), mostItemsInStock);
        }
        public void maximum()
        {
            var mostItemsInStock = Session.QueryOver <Product>()
                                   .Select(Projections.Max <Product>(p => p.UnitsInStock))
                                   .SingleOrDefault <int>();

            Assert.AreEqual(_products.Max(p => p.UnitsInStock), mostItemsInStock);
        }
 public override DateTime?ObterDataUltimaTransacaoDaConta(int idConta)
 {
     return(mSessao
            .QueryOver <Transacao>()
            .Where(x => x.QualConta.Id == idConta)
            .Select(Projections.Max <Transacao>(x => x.DataHora))
            .SingleOrDefault <DateTime?>());
 }
        /// <summary>
        /// Obtem o útimo codigo usado e retorna ele +1
        /// </summary>
        /// <returns>
        /// int
        /// </returns>
        /// <example>
        /// var Codigo = NextCod();
        /// </example>
        public int NextCode()
        {
            int nextCod = session.QueryOver <Despesas>()
                          .Select(Projections.Max <Despesas>(x => x.CodigoDespesa))
                          .SingleOrDefault <int>();

            return(nextCod + 1);
        }
        public void TestMax()
        {
            AggregateExitOperation exitOp = new AggregateExitOperation(Projections.Max("value"));

            IList result = exitOp.Apply(data);

            Assert.AreEqual(5, ((MyInt)result[0]).Value);
        }
Example #30
0
 public decimal FindMaxDiscountPerList(PriceList pl)
 {
     ICriteria crit = GetCriteria();
     crit.Add(Expression.Eq("PriceList", pl));
     crit.Add(Expression.Not(Expression.Eq("DistributorStatus", DistributorStatus.Disable)));
     crit.SetProjection(Projections.ProjectionList().Add(Projections.Max("Discount")));
     object val = crit.UniqueResult();
     return val != null ? Convert.ToDecimal(val) : 0;
 }