/// <summary>
        /// Inserts a row in MedicamnetoPorReceta table, represented as MedicamentoPorReceta object
        /// </summary>
        /// <param name="medicamento_por_receta"> The new The MedicamentoPorReceta object </param>
        /// <returns>The MedicamentoPorReceta object inserted</returns>
        public MedicamentoPorReceta addMedicamento_por_receta(MedicamentoPorReceta medicamento_por_receta)
        {
            string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
            MedicamentoEnSucursalAccess medicamentoEnSucursalAccess = new MedicamentoEnSucursalAccess();
            int cantidad_disponible = medicamentoEnSucursalAccess.getCantidadDisponible(medicamento_por_receta.CodigoMedicamento, medicamento_por_receta.NoSucursal);

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


            return(medicamento_por_receta);
        }
        /// <summary>
        /// Selects all the MedicamentosPorReceta objects mapping each one
        /// </summary>
        /// <returns>  List<MedicamentoPorReceta>  </returns>
        public List <MedicamentoPorReceta> getMedicamentosPorReceta()
        {
            List <MedicamentoPorReceta> listMedicamento_por_receta = new List <MedicamentoPorReceta>();
            string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;

            using (SqlConnection con = new SqlConnection(cs))
            {
                SqlCommand cmd = new SqlCommand(
                    "SELECT CodigoMedicamento , NoReceta , Cantidad FROM MEDICAMENTOS_POR_RECETA ; ", con);
                con.Open();
                SqlDataReader rdr = cmd.ExecuteReader();
                while (rdr.Read()) //si existe en la base de datos
                {
                    MedicamentoPorReceta medicamento_por_receta = new MedicamentoPorReceta();
                    medicamento_por_receta.CodigoMedicamento = rdr["CodigoMedicamento"].ToString();
                    medicamento_por_receta.NoReceta          = rdr["NoReceta"].ToString();
                    medicamento_por_receta.Cantidad          = rdr["Cantidad"].ToString();
                    listMedicamento_por_receta.Add(medicamento_por_receta);
                }
            }
            return(listMedicamento_por_receta);
        }
Пример #3
0
 /// <summary>
 ///  Post a new row in the table MedicamentoPorReceta
 /// </summary>
 /// <param name="medicamento_por_receta"></param>
 /// <returns></returns>
 public MedicamentoPorReceta PostMedicamentoPorReceta(MedicamentoPorReceta medicamento_por_receta)
 {
     return(databaseAccess.addMedicamento_por_receta(medicamento_por_receta));
 }