public static bool Insertar(Procedimientos procedimiento) { Contexto contexto = new Contexto(); bool paso = false; try { TiposProcedimientos tipoProcedimiento = TiposProcedimientosBLL.Buscar(procedimiento.TipoProcedimientoId); procedimiento.Monto = tipoProcedimiento.Precio; Pacientes paciente = PacientesBLL.Buscar(procedimiento.PacienteId); paciente.Balance += procedimiento.Monto; contexto.Procedimientos.Add(procedimiento); contexto.Entry(paciente).State = EntityState.Modified; paso = contexto.SaveChanges() > 0; } catch (Exception) { throw; } finally { contexto.Dispose(); } return(paso); }
public static bool Modificar(Procedimientos procedimiento) { Contexto contexto = new Contexto(); bool paso = false; var anterior = ProcedimientosBLL.Buscar(procedimiento.ProcedimientoId); try { TiposProcedimientos tipoProcedimiento = TiposProcedimientosBLL.Buscar(procedimiento.TipoProcedimientoId); procedimiento.Monto = tipoProcedimiento.Precio; Pacientes paciente = PacientesBLL.Buscar(procedimiento.PacienteId); paciente.Balance -= anterior.Monto; //todo: Revisar funcionamiento paciente.Balance += procedimiento.Monto; foreach (var item in anterior.ProcedimientoDetalle) { if (!procedimiento.ProcedimientoDetalle.Exists(p => p.ProcedimientosDetalleId == item.ProcedimientosDetalleId)) { contexto.Entry(item).State = EntityState.Deleted; } } foreach (var item in procedimiento.ProcedimientoDetalle) { if (item.ProcedimientosDetalleId == 0) { contexto.Entry(item).State = EntityState.Added; } else { contexto.Entry(item).State = EntityState.Modified; } } contexto.Entry(procedimiento).State = EntityState.Modified; contexto.Entry(paciente).State = EntityState.Modified; paso = contexto.SaveChanges() > 0; } catch (Exception) { throw; } finally { contexto.Dispose(); } return(paso); }