public static void Update(ArtCambio cambio) { using (var session = Global.SessionFactory.OpenSession()) { using (var tx = session.BeginTransaction()) { try { session.Update(cambio); tx.Commit(); } catch (Exception ex) { Global.Log.Error(ex.Message, ex); tx.Rollback(); throw; } } } }
public static void Save(int tipoEntidad, int codEntidad, string accion, DateTime fechaSolicitud, StatusEnum status, int solicitadoPor, int? aprobadoPor, DateTime? fechaAprobacion, List<ArtCambiosDetalle> cambiosDetalles) { using (var session = Global.SessionFactory.OpenSession()) { using (var tx = session.BeginTransaction()) { try { Ciclo cicloCambio; if (tipoEntidad == 2 || tipoEntidad == 3) cicloCambio = Global.CicloX1; else cicloCambio = Global.CicloX2; var cambioNH = new ArtCambio { Ciclo = cicloCambio, CodCambio = 0, CodEntidad = codEntidad, ArtTipoEntidad = session.Get<ArtTipoEntidad>(tipoEntidad), Action = accion, FechaSolicitud = fechaSolicitud, Status = Convert.ToInt32(status), SolicitadoPor = solicitadoPor, AprobadoPor = aprobadoPor, FechaAprobacion = fechaAprobacion }; session.Save(cambioNH); if (cambioNH.CodCambio > 0) { if (cambiosDetalles != null) foreach (var item in cambiosDetalles) { item.ArtCambio = cambioNH; session.Save(item); } } tx.Commit(); var enviarAlerta = Alerta.SeDebeAlertar(tipoEntidad, accion); if (enviarAlerta) Mensaje.SendAlert(tipoEntidad, codEntidad, Utils.GetAccionDescripcion(accion), status, cambiosDetalles); } catch (Exception ex) { Global.Log.Error(ex.Message, ex); tx.Rollback(); throw; } } } }