public List <ABC_ClassificationsDTO> GetClassificationBySet(Guid id)
 {
     try
     {
         List <ABC_ClassificationsDTO> result = new List <ABC_ClassificationsDTO>();
         SessionManager.DoWork(session =>
         {
             var list = session.Query <ABC_Classifications>().Where(q => q.ABC_ClassificationSet.Id == id).OrderBy(q => q.MinRecord).ThenByDescending(q => q.Rank);
             foreach (var l in list)
             {
                 ABC_ClassificationsDTO item = new ABC_ClassificationsDTO()
                 {
                     Id         = l.Id,
                     MinRecord  = l.MinRecord,
                     MaxRecord  = l.MaxRecord,
                     Rank       = l.Rank,
                     IsEligible = l.IsEligible,
                     ABC_ClassificationSetId = l.ABC_ClassificationSet?.Id ?? Guid.Empty
                 };
                 result.Add(item);
             }
         });
         return(result);
     }
     catch (Exception)
     {
         throw;
     }
 }
 public int PutClassification(ABC_ClassificationsDTO obj)
 {
     try
     {
         int result = 0;
         SessionManager.DoWork(session =>
         {
             Guid id = Guid.Empty;
             if (obj.Id == Guid.Empty)
             {
                 ABC_Classifications newItem = new ABC_Classifications();
                 newItem.Id                    = Guid.NewGuid();
                 newItem.MinRecord             = obj.MinRecord;
                 newItem.MaxRecord             = obj.MaxRecord;
                 newItem.Rank                  = obj.Rank;
                 newItem.IsEligible            = obj.IsEligible;
                 newItem.ABC_ClassificationSet = new ABC_ClassificationSet()
                 {
                     Id = obj.ABC_ClassificationSetId
                 };
                 session.Save(newItem);
                 id = newItem.Id;
             }
             else
             {
                 var objDB                   = session.Query <ABC_Classifications>().SingleOrDefault(q => q.Id == obj.Id);
                 objDB.MinRecord             = obj.MinRecord;
                 objDB.MaxRecord             = obj.MaxRecord;
                 objDB.Rank                  = obj.Rank;
                 objDB.IsEligible            = obj.IsEligible;
                 objDB.ABC_ClassificationSet = new ABC_ClassificationSet()
                 {
                     Id = obj.ABC_ClassificationSetId
                 };
                 session.Update(objDB);
                 id = objDB.Id;
             }
             if (obj.IsEligible == true)
             {
                 var listOther = session.Query <ABC_Classifications>().Where(q => q.ABC_ClassificationSet.Id == obj.ABC_ClassificationSetId && q.Id != id);
                 foreach (var l in listOther)
                 {
                     l.IsEligible = false;
                     session.Update(l);
                 }
             }
             result = 1;
         });
         return(result);
     }
     catch (Exception)
     {
         throw;
     }
 }
 public int DeleteClassification(ABC_ClassificationsDTO item)
 {
     try
     {
         SessionManager.DoWork(session =>
         {
             var obj = session.Query <ABC_Classifications>().SingleOrDefault(q => q.Id == item.Id);
             if (obj != null)
             {
                 session.Delete(obj);
             }
         });
         return(1);
     }
     catch (Exception)
     {
         throw;
     }
 }