Esempio n. 1
0
        /// <summary>
        /// Comprueba si los alimentos pueden ser cocinados siguiendo la receta tal y como
        /// indican los requisitos actuales (12/07/2017)
        /// </summary>
        /// <param name="alimento1"> Alimento a cocinar</param>
        /// <param name="alimento2">Alimento a cocinar</param>
        /// <param name="receta">Receta a seguir</param>
        /// <returns>true si se puede cocinar o false en caso contrario</returns>
        private bool isCookable(Alimento alimento1, Alimento alimento2, Receta receta)
        {
            bool bCookable = true;

            if (alimento1 == null || alimento2 == null || receta == null)
            {
                bCookable = false;
            }
            else if (!alimento1.nombre.Equals(receta.alimento1.nombre) ||
                     !alimento2.nombre.Equals(receta.alimento2.nombre))
            {
                bCookable = false;
            }
            else if (alimento1.isCaliente() || alimento2.isCaliente())
            {
                bCookable = false;
            }
            else if (cocinaUtilService.PesarAlimento(alimento1) < receta.alimento1.peso ||
                     cocinaUtilService.PesarAlimento(alimento2) < receta.alimento2.peso)
            {
                bCookable = false;
            }

            return(bCookable);
        }
        public Receta receta(string nombreReceta)
        {
            Receta recetaAux = buscaReceta(nombreReceta);

            if (recetaAux == null)
            {
                throw new CategoriaNoExisteException();
            }

            return(recetaAux);
        }
        public void deleteReceta(Receta receta)
        {
            Receta recetaAux = buscaReceta(receta.nombre);

            if (recetaAux != null)
            {
                recetaRepository.deleteReceta(receta);
            }
            else
            {
                throw new CategoriaNoExisteException();
            }
        }
        public void updateReceta(Receta receta)
        {
            Receta recetaAux = buscaReceta(receta.nombre);

            if (recetaAux != null)
            {
                // TODO implementar correctamente el update de recetaRepository
                recetaRepository.updateReceta(receta);
            }
            else
            {
                throw new CategoriaNoExisteException();
            }
        }
        private Receta buscaReceta(string nombreReceta)
        {
            IList <Receta> listaRecetas = recetaRepository.listRecetas();
            Receta         recetaAux    = null;

            bool bFound = false;
            int  i      = 0;

            while (!bFound && i < listaRecetas.Count())
            {
                if (listaRecetas.ElementAt(i).nombre.Equals(nombreReceta))
                {
                    bFound    = true;
                    recetaAux = listaRecetas.ElementAt(i);
                }
                i++;
            }
            return(recetaAux);
        }
Esempio n. 6
0
        /// <summary>
        /// Retorna null si no se puede realizar el plato, ya sea porque no tiene los alimentos
        /// necesarios o porque los recibe calientes
        /// </summary>
        /// <param name="alimento1"> Alimento 1 a cocinar</param>
        /// <param name="alimento2"> Alimento 2 a cocinar</param>
        /// <param name="receta"> Receta a seguir</param>
        /// <returns>El plato si se pudo cocinar o null si no se pudo</returns>
        public Plato CocinarReceta(Alimento alimento1, Alimento alimento2, Receta receta)
        {
            Plato plato;

            if (existsReceta(receta.nombre) && isCookable(alimento1, alimento2, receta))
            {
                alimento1.peso = receta.alimento1.peso;
                alimento1.peso = receta.alimento1.peso;

                cocinaUtilService.CalentarAlimento(alimento1);
                cocinaUtilService.CalentarAlimento(alimento2);

                plato = new Plato(alimento1, alimento2);
            }
            else
            {
                plato = null;
            }

            return(plato);
        }
        public void addReceta(Receta receta)
        {
            Receta    recetaAux    = buscaReceta(receta.nombre);
            Categoria categoriaAux = categoriaService.categoria(receta.categoria.nombre);

            // Si la categoria no existe en la BD
            if (categoriaAux == null)
            {
                throw new CategoriaNoExisteException();
            }

            //Si la receta ya existe en la BD
            if (recetaAux != null)
            {
                throw new RecetaYaExisteException();
            }
            else
            {
                recetaRepository.addReceta(receta);
            }
        }
Esempio n. 8
0
 public void addRecetaRepositorio(Receta receta)
 {
     this.recetaService.addReceta(receta);
 }
 public Receta updateReceta(Receta receta)
 {
     //TODO
     return(null);
 }
 public Receta deleteReceta(Receta receta)
 {
     listaRecetas.Remove(receta);
     return(receta);
 }
 public Receta addReceta(Receta receta)
 {
     listaRecetas.Add(receta);
     return(receta);
 }