//TODO esto revisar a ver si se quita mejor o algo public static int BorrarResultados(ResultadoForm form) { var hql = @"delete from Resultado where "; var cond2 = new List<Cond>(); if (!string.IsNullOrEmpty(form.Proceso)) cond2.Add(new Cond("Proceso=:proceso", "proceso", form.Proceso)); if (!string.IsNullOrEmpty(form.Tipo)) cond2.Add(new Cond("Tipo_item=:tipo", "tipo", form.Tipo)); if (!string.IsNullOrEmpty(form.Ciudad)) cond2.Add(new Cond("Canton=:ciudad", "ciudad", form.Ciudad)); if (cond2.Count == 0) return 0; hql += string.Join(" and ", cond2.Select(x => x.query)); NHibernateHelper.BeginTransaction(); var q = NHibernateHelper.GetCurrentSession().CreateQuery(hql); try { foreach (var cond in cond2) { q.SetParameter(cond.parname, cond.parameter); } int num = q.ExecuteUpdate(); NHibernateHelper.CommitTransaction(); return num; } catch (Exception) { NHibernateHelper.CommitTransaction(); throw; } }
public static int BorrarResultados(IDictionary<string, object> parametros) { var form = new ResultadoForm(); foreach (var parametro in parametros) { if (Utils.IsSafeNull(parametro.Value)) continue; var txt = parametro.Value.ToString(); switch (parametro.Key) { case "Proceso": form.Proceso = txt; break; case "Tipo": form.Tipo = txt; break; case "Canton": form.Ciudad = txt; break; } } return BorrarResultados(form); }
public static IList<Resultado> Resultados(ResultadoForm form) { using (var session = NHibernateHelper.SessionFactory.OpenStatelessSession()) { var hql = "select r from Resultado r"; var conds = new List<string>(); if (!string.IsNullOrEmpty(form.Ciudad)) conds.Add(string.Format("r.Canton = '{0}'", form.Ciudad)); if (!string.IsNullOrEmpty(form.Tipo)) conds.Add(string.Format("r.Tipo_item = '{0}'", form.Tipo)); if (!string.IsNullOrEmpty(form.Where)) conds.Add(form.Where); if (conds.Count > 0) { hql += " where " + string.Join(" and ", conds); } var orden = string.IsNullOrEmpty(form.Orden) ? "Id_item" : form.Orden; hql += " order by " + orden; var q = session.CreateQuery(hql); return q.List<Resultado>(); } }