public List <EDMetaIndicador> EliminarMetaIndicador(int IdMetaInd, int IdEmpresa) { List <EDMetaIndicador> MetasIndicadores = new List <EDMetaIndicador>(); MetaIndicador metaBorrar = new MetaIndicador(); using (SG_SSTContext context = new SG_SSTContext()) { using (var Transaction = context.Database.BeginTransaction()) { RegistraLog registraLog = new RegistraLog(); try { metaBorrar = (from part in context.Tbl_MetaIndicador where part.PK_Id_MetaIndicador == IdMetaInd select part).First(); if (metaBorrar != null) { context.Tbl_MetaIndicador.Remove(metaBorrar); } context.SaveChanges(); Transaction.Commit(); MetasIndicadores = (from m in context.Tbl_MetaIndicador where m.FK_Empresa == IdEmpresa select new EDMetaIndicador { PK_Id_MetaIndicador = m.PK_Id_MetaIndicador, FK_Indicador = m.FK_Indicador, FK_Empresa = m.FK_Empresa, ValorMeta = m.ValorMeta, ValorRojo = m.ValorRojo, ValorAmarillo = m.ValorAmarillo, ValorVerde = m.ValorVerde, Indicador = (from ind in context.Tbl_Indicador where ind.PK_Id_Indicador == m.FK_Indicador select new EDIndicador { PK_Id_Indicador = ind.PK_Id_Indicador, Nombre = ind.Nombre, Tipo = ind.Tipo, Unidad = ind.Unidad, Frecuencia = ind.Frecuencia }).FirstOrDefault() } ).ToList(); } catch (Exception ex) { registraLog.RegistrarError(typeof(MetasIndicadoresManager), string.Format("Error al eliminar meta de indicador {0}: {1}", DateTime.Now, ex.StackTrace), ex); Transaction.Rollback(); return(null); } } } return(MetasIndicadores); }
public EDMetaIndicador GuardarMetaIndicador(EDMetaIndicador metaInd) { using (SG_SSTContext context = new SG_SSTContext()) { using (var Transaction = context.Database.BeginTransaction()) { RegistraLog registraLog = new RegistraLog(); try { var yaExiste = (from m in context.Tbl_MetaIndicador where m.FK_Indicador == metaInd.FK_Indicador && m.FK_Empresa == metaInd.FK_Empresa select m); if (yaExiste.Count() == 0) { MetaIndicador part = new MetaIndicador() { FK_Indicador = metaInd.FK_Indicador, FK_Empresa = metaInd.FK_Empresa, ValorMeta = metaInd.ValorMeta, ValorRojo = metaInd.ValorRojo, ValorAmarillo = metaInd.ValorAmarillo, ValorVerde = metaInd.ValorVerde }; context.Tbl_MetaIndicador.Add(part); } context.SaveChanges(); Transaction.Commit(); var metaRegistrada = (from m in context.Tbl_MetaIndicador where m.FK_Indicador == metaInd.FK_Indicador && m.FK_Empresa == metaInd.FK_Empresa select new EDMetaIndicador { PK_Id_MetaIndicador = m.PK_Id_MetaIndicador, FK_Indicador = m.FK_Indicador, FK_Empresa = m.FK_Empresa, ValorMeta = m.ValorMeta, ValorRojo = m.ValorRojo, ValorAmarillo = m.ValorAmarillo, ValorVerde = m.ValorVerde } ).FirstOrDefault(); return(metaRegistrada); } catch (Exception ex) { registraLog.RegistrarError(typeof(MetasIndicadoresManager), string.Format("Error al registrar meta de indicador {0}: {1}", DateTime.Now, ex.StackTrace), ex); Transaction.Rollback(); return(null); } } } }