Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }