public bool SaveWorkFlowLog(D_Report_Model model, D_WorkFlowLog_Model logModel) { NHibernate.ITransaction tran = NhSession.BeginTransaction(); try { logModel.ReportGuid = model; NhSession.SaveOrUpdate(model.ReportD2); NhSession.SaveOrUpdate(model); if (model.ReportD8DataModels.Count > 0) { foreach (var item in model.ReportD8DataModels) { NhSession.SaveOrUpdate(item); } } if (model.WorkFlow_Models.Count > 0) { foreach (var item in model.WorkFlow_Models) { NhSession.SaveOrUpdate(item); } } if (model.WorkFlowLog_Models.Count > 0) { foreach (var item in model.WorkFlowLog_Models) { NhSession.SaveOrUpdate(item); } } NhSession.SaveOrUpdate(model); tran.Commit(); return(true); } catch (Exception ex) { throw ex; } finally { if (!tran.WasCommitted && !tran.WasRolledBack) { tran.Rollback(); } } }
public IList <D_WorkFlowLog_Model> GetAllByPage(int startCount, int rowCount, D_Report_Model reportModel, out int totalCount) { ICriteria ic = NhSession.CreateCriteria(typeof(D_WorkFlowLog_Model)); ic.Add(Restrictions.Eq("ReportGuid", reportModel)); ICriteria pageCrit = CriteriaTransformer.Clone(ic); totalCount = Convert.ToInt32(pageCrit.SetProjection(Projections.RowCount()).UniqueResult()); IList <D_WorkFlowLog_Model> list = ic.SetFirstResult(startCount).SetMaxResults(rowCount).List <D_WorkFlowLog_Model>(); return(list); }