Ejemplo n.º 1
0
 public virtual ResponseApi Delete([FromForm] DelEntry delEntry)
 {
     if (Request.ContentType.Contains("application/json"))
     {
         using (System.IO.StreamReader reader = new System.IO.StreamReader(Request.Body))
         {
             // Ref(ref obj, reader.ReadToEnd());
             Ref(ref delEntry, reader.ReadToEndAsync().Result);//类库影响
         }
     }
     Expression <Func <T, bool> > where = null;
     if (delEntry.Id.HasValue)
     {
         where = where.Or(it => it.Id == delEntry.Id.Value);
     }
     else if (delEntry.Ids != null && delEntry.Ids.Length > 0)
     {
         //多条件不支持 删除操作
         //NHibernate.ISession session = HttpContext.RequestServices.GetService<NHibernate.ISession>();
         //NHibernate.ICriteria criteria= session.CreateCriteria<T>();
         //NHibernate.Criterion.AbstractCriterion abstractCriterion=null;
         //bug
         foreach (var item in delEntry.Ids)
         {
             // where = where.Or(it => it.Id == item);
             this.Repository.Delete(it => it.Id == item);
             //if(abstractCriterion==null)
             //{
             //    abstractCriterion = NHibernate.Criterion.Expression.IdEq(item);
             //}
             //else
             //{
             //    abstractCriterion |= NHibernate.Criterion.Expression.IdEq(item);
             //}
         }
         //criteria.Add(abstractCriterion);
         return(ResponseApi.CreateSuccess());
     }
     else
     {
         return(ResponseApi.CreateFail());
     }
     this.Repository.Delete(where);
     return(ResponseApi.CreateSuccess());
 }