Esempio n. 1
0
        public static List <InformeQueryEntidad> ListaInforme(int?nroFac, int?nroDoc, DateTime?fd, DateTime?fh, int?forma)
        {
            List <InformeQueryEntidad> lista = new List <InformeQueryEntidad>();

            SqlConnection cn = new SqlConnection();

            cn.ConnectionString = ConnectionString.Cadena();
            cn.Open();
            SqlCommand cmd = new SqlCommand();

            cmd.Connection = cn;

            //cmd.CommandText = @"select top 1000 p.idPaciente,p.nroDoc,p.nombre,p.apellido,f.nroFactura,
            //                f.montoTotal,f.fechaFac,df.precio,df.cantidadAbonada,fp.descripcionFP
            //                from pacientes p, Factura f,DetalleFactura df,intervencion i, FormaPago fp
            //                where df.nroFactura=f.nroFactura and df.codIntervencion=i.codIntervencion
            //                and f.idPaciente=p.idPaciente and f.idFormaPago=fp.idFP";
            cmd.CommandText = @"select top 1000 p.idPaciente,p.nroDoc,p.nombre,p.apellido,f.nroFactura,
                            f.montoTotal,f.fechaFac,df.precio,df.cantidadAbonada,fp.descripcionFP, t.DescripcionTratamiento
                            from pacientes p, Factura f,DetalleFactura df,intervencion i, FormaPago fp , tratamientos t
                            where df.nroFactura=f.nroFactura and df.codIntervencion=i.codIntervencion 
                            and f.idPaciente=p.idPaciente and f.idFormaPago=fp.idFP and i.codTratamiento=t.idTratamiento";
            if (nroFac.HasValue && nroFac != 0)
            {
                cmd.CommandText += " and f.nroFactura=@NroFactura";
                cmd.Parameters.AddWithValue("@NroFactura", nroFac.Value);
            }

            if (nroDoc.HasValue && nroDoc != 0)
            {
                cmd.CommandText += " and p.nroDoc=@NroDoc";
                cmd.Parameters.AddWithValue("@NroDoc", nroDoc.Value);
            }
            if (fd.HasValue)
            {
                cmd.CommandText += " and f.fechaFac>=@FD";
                cmd.Parameters.AddWithValue("@FD", fd.Value);
            }
            if (fh.HasValue)
            {
                cmd.CommandText += " and f.fechaFac<=@FH";
                cmd.Parameters.AddWithValue("@FH", fh.Value);
            }
            if (forma.HasValue && forma != 0)
            {
                cmd.CommandText += " and f.idFormaPago=@Forma";
                cmd.Parameters.AddWithValue("@Forma", forma.Value);
            }


            cmd.CommandText += " order by p.nombre";
            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                InformeQueryEntidad i = new InformeQueryEntidad();

                i.Id = (int)dr["idPaciente"];
                if (dr["nroDoc"] != DBNull.Value)
                {
                    i.NroDoc = (int)dr["nroDoc"];
                }
                i.Nombre   = dr["nombre"].ToString();
                i.Apellido = dr["apellido"].ToString();
                if (dr["nroFactura"] != DBNull.Value)
                {
                    i.NroFactura = int.Parse(dr["nroFactura"].ToString());
                }
                if (dr["montoTotal"] != DBNull.Value)
                {
                    i.MontoTotal = double.Parse(dr["montoTotal"].ToString());
                }
                if (dr["fechaFac"] != DBNull.Value)
                {
                    i.Fecha = DateTime.Parse(dr["fechaFac"].ToString());
                }
                if (dr["cantidadAbonada"] != DBNull.Value)
                {
                    i.CantidadAbonada = double.Parse(dr["cantidadAbonada"].ToString());
                }
                if (dr["precio"] != DBNull.Value)
                {
                    i.Precio = double.Parse(dr["precio"].ToString());
                }
                // if(dr["descripcionFP"] != DBNull.Value)
                i.DescripcionFP = dr["descripcionFP"].ToString();
                // i.DescripcionCond = dr["descripcion"].ToString();
                i.descripcionTratamiento = dr["DescripcionTratamiento"].ToString();

                lista.Add(i);
            }
            dr.Close();
            cn.Close();

            return(lista);
        }
Esempio n. 2
0
        public static void InsertarCompra(CompraInsumosEntidad compra, List <DetalleCompraInsumosEntidad> detalle)
        {
            //1. Abrir la conexion
            SqlConnection cn = new SqlConnection();

            cn.ConnectionString = ConnectionString.Cadena();
            cn.Open();
            ////2. Crear el objeto command para ejecutar el insert
            SqlTransaction tran = cn.BeginTransaction();

            try
            {
                SqlCommand cmd = new SqlCommand();
                cmd.Connection  = cn;
                cmd.CommandText = @"INSERT INTO CompraInsumos (idProveedor, fechaHora, montoTotal)
                                       VALUES ( @id, @fecha, @monto)";
                cmd.Parameters.AddWithValue("@id", compra.idProveedor);
                cmd.Parameters.AddWithValue("@fecha", compra.fechaHora);
                cmd.Parameters.AddWithValue("@monto", compra.montoTotal);
                cmd.Transaction = tran;
                cmd.ExecuteNonQuery();

                foreach (DetalleCompraInsumosEntidad det in detalle)
                {
                    SqlCommand cmdDetalle = new SqlCommand();
                    cmdDetalle.Connection = cn;

                    cmdDetalle.CommandText = @"INSERT INTO detalleCompraInsumos (idProveedor, fechaHora, codInsumo, cantidad, precioUnitario)
                                                      VALUES(@id, @fecha, @cod, @cant, @precio)";
                    cmdDetalle.Parameters.AddWithValue("@id", det.idProveedor);
                    cmdDetalle.Parameters.AddWithValue("@fecha", det.fechaHora);
                    cmdDetalle.Parameters.AddWithValue("@cod", det.codInsumo);
                    cmdDetalle.Parameters.AddWithValue("@cant", det.cantidad);
                    cmdDetalle.Parameters.AddWithValue("@precio", det.precioUnitario);
                    cmdDetalle.Transaction = tran;

                    cmdDetalle.ExecuteNonQuery();
                }

                foreach (DetalleCompraInsumosEntidad deta in detalle)
                {
                    SqlCommand cmdCant = new SqlCommand();
                    cmdCant.Connection  = cn;
                    cmdCant.CommandText = @"UPDATE Insumos set
                                             cantidadStock = cantidadStock + @cant
                                            WHERE idInsumo = @id";
                    cmdCant.Parameters.AddWithValue("@cant", deta.cantidad);
                    cmdCant.Parameters.AddWithValue("@id", deta.codInsumo);
                    cmdCant.Transaction = tran;
                    cmdCant.ExecuteNonQuery();
                }

                tran.Commit();
            }
            catch (SqlException)
            {
                tran.Rollback();
            }
            finally { cn.Close(); }

            cn.Close();
        }