/// <summary>
        /// Inserts a row in the table MedicamentoPorPedido
        /// </summary>
        /// <param name="medicamento_por_pedido"> The new object MedicamentoPorPedido that will be mapped then inserted  </param>
        /// <returns> The new object MedicamentoPorPedido that will be mapped then inserted</returns>
        public MedicamentoPorPedido addMedicamento_por_pedido(MedicamentoPorPedido medicamento_por_pedido)
        {
            string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;

            MedicamentoEnSucursalAccess medicamentoEnSucursalAccess = new MedicamentoEnSucursalAccess();
            int cantidad_disponible = medicamentoEnSucursalAccess.getCantidadDisponible(medicamento_por_pedido.CodigoMedicamento, medicamento_por_pedido.NoSucursal);

            //si hay cantidad disponible
            if (Convert.ToInt32(medicamento_por_pedido.Cantidad) < cantidad_disponible)
            {
                int cantidad_nueva = cantidad_disponible - Convert.ToInt32(medicamento_por_pedido.Cantidad);
                //update Cantdad of MedicamentoEnSucursal
                medicamentoEnSucursalAccess.setCantidadDisponible(medicamento_por_pedido.CodigoMedicamento, medicamento_por_pedido.NoSucursal, cantidad_nueva);
                using (SqlConnection con = new SqlConnection(cs))
                {
                    SqlCommand cmd = new SqlCommand(
                        "INSERT INTO MEDICAMENTOS_POR_PEDIDO ( NoFactura , CodigoMedicamento, Cantidad  )"
                        + " VALUES('" + medicamento_por_pedido.NoFactura + "', '" + medicamento_por_pedido.CodigoMedicamento + "','" + medicamento_por_pedido.Cantidad + "'); "
                        , con);
                    con.Open();
                    cmd.ExecuteNonQuery();
                }
            }
            else
            {
                //update Cantdad of MedicamentoEnSucursal
                medicamentoEnSucursalAccess.setCantidadDisponible(medicamento_por_pedido.CodigoMedicamento, medicamento_por_pedido.NoSucursal, 0);
                using (SqlConnection con = new SqlConnection(cs))
                {
                    SqlCommand cmd = new SqlCommand(
                        "INSERT INTO MEDICAMENTOS_POR_PEDIDO ( NoFactura , CodigoMedicamento, Cantidad  )"
                        + " VALUES('" + medicamento_por_pedido.NoFactura + "', '" + medicamento_por_pedido.CodigoMedicamento + "','" + cantidad_disponible + "'); "
                        , con);
                    con.Open();
                    cmd.ExecuteNonQuery();
                }
                medicamento_por_pedido.Cantidad = cantidad_disponible.ToString();
            }

            return(medicamento_por_pedido);
        }
        /// <summary>
        /// Selects all the rows of MedicamentoPorpedido, maps into objects and returns it
        /// </summary>
        /// <returns> List<MedicamentoPorPedido> </returns>
        public List <MedicamentoPorPedido> getMedicamentosPorPedido()
        {
            List <MedicamentoPorPedido> listMedicamento_por_pedido = new List <MedicamentoPorPedido>();
            string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;

            using (SqlConnection con = new SqlConnection(cs))
            {
                SqlCommand cmd = new SqlCommand(
                    "SELECT NoFactura ,CodigoMedicamento, Cantidad FROM MEDICAMENTOS_POR_PEDIDO;", con);
                con.Open();
                SqlDataReader rdr = cmd.ExecuteReader();
                while (rdr.Read()) //si existe en la base de datos
                {
                    MedicamentoPorPedido medicamento_por_pedido = new MedicamentoPorPedido();
                    medicamento_por_pedido.NoFactura         = rdr["NoFactura"].ToString();
                    medicamento_por_pedido.CodigoMedicamento = rdr["CodigoMedicamento"].ToString();
                    medicamento_por_pedido.Cantidad          = rdr["Cantidad"].ToString();
                    listMedicamento_por_pedido.Add(medicamento_por_pedido);
                }
            }
            return(listMedicamento_por_pedido);
        }
Esempio n. 3
0
 /// <summary>
 /// Post a new row in the table MedicamentoPorPedido
 /// </summary>
 /// <param name="medicamento_por_pedido"></param>
 /// <returns> The new  MedicamentoPorPedido  </returns>
 public MedicamentoPorPedido Post(MedicamentoPorPedido medicamento_por_pedido)
 {
     return(databaseAccess.addMedicamento_por_pedido(medicamento_por_pedido));
 }