Example #1
0
        public static List <Auftrag> getAuftrag(Auftrag auftrag)
        {
            ISession session = NHibernateHelper.GetCurrentSession();
            //StringBuilder sb = new StringBuilder("from Auftrag");
            //int i = 0;
            //foreach(PropertyInfo property in typeof(Auftrag).GetProperties())
            //{
            //    if (!property.CanRead || (property.GetIndexParameters().Length > 0))
            //        continue;

            //    object value = property.GetValue(auftrag, null);
            //    if (value is int) if ((int)value == 0) value = null;
            //    if (value is Guid) if (((Guid)value) == Guid.Empty) value = null;
            //    if (value is DateTime) if ((DateTime)value == DateTime.MinValue) value = null;
            //    if (value == null)
            //        continue;

            //    if (i == 0) sb.Append(" where ");
            //    else sb.Append(" and ");
            //    sb.Append($@"{property.Name} = '{value}'");
            //    i++;
            //}
            //IQuery query = session.CreateQuery(sb.ToString());

            //Example example = Example.Create(auftrag)
            //    .ExcludeZeroes()
            //    .IgnoreCase()
            //    .EnableLike();

            //IList<Auftrag> auftraege = session
            //    .CreateCriteria<Auftrag>()
            //    .Add(example)
            //    .List<Auftrag>();

            IList <Auftrag> auftraege = session
                                        .Query <Auftrag>()
                                        .Where(a => a.ID == ((auftrag.ID == Guid.Empty) ? a.ID : auftrag.ID))
                                        .Where(a => a.Kunde == (auftrag.Kunde ?? a.Kunde))
                                        .Where(a => a.Position == (auftrag.Position ?? a.Position))
                                        .Where(a => a.Volumen == ((auftrag.Volumen == 0)?a.Volumen:auftrag.Volumen))
                                        .Where(a => a.Deadline == ((auftrag.Deadline == DateTime.MinValue)?a.Deadline:auftrag.Deadline))
                                        .ToList();

            session.Close();
            return(auftraege.ToList());
        }
Example #2
0
        public static string deleteAuftrag(Auftrag auftrag)
        {
            ISession session = NHibernateHelper.GetCurrentSession();

            try
            {
                using (ITransaction transaction = session.BeginTransaction())
                {
                    session.Delete(auftrag);
                    transaction.Commit();
                }
            }
            catch (Exception e)
            {
                return("keine Aufträge gefunden\n" + e.Message);
            }
            session.Close();
            return("");
        }
Example #3
0
        public static string updateAuftrag(Auftrag auftrag)
        {
            ISession session = NHibernateHelper.GetCurrentSession();

            try
            {
                using (ITransaction transaction = session.BeginTransaction())
                {
                    session.Update(auftrag);
                    transaction.Commit();
                }
            }
            catch (Exception e)
            {
                return("Auftrag mit dieser ID existiert nicht\n" + e.Message);
            }
            session.Close();
            return("");
        }