예제 #1
0
        private List <RecipeIngridientView> ExecuteRecipeIngridientSqlCmd(SqlConnection sqlConnection, SqlCommand cmd)
        {
            List <RecipeIngridientView> recipeIngridientsList = new List <RecipeIngridientView>();

            try
            {
                sqlConnection.Open();
                using (SqlDataReader reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        RecipeIngridientView recipeIngridient = new RecipeIngridientView()
                        {
                            RecipeId     = reader.GetFieldValue <int>(0),
                            IngridientId = reader.GetFieldValue <int>(1),
                            Name         = reader.GetFieldValue <string>(2),
                            Weight       = reader.GetFieldValue <string>(3)
                        };
                        recipeIngridientsList.Add(recipeIngridient);
                    }
                };
            }
            catch (Exception ex)
            {
                _logger.ErrorMessage(ex);
            }
            finally
            {
                sqlConnection.Close();
            }

            return(recipeIngridientsList);
        }
예제 #2
0
        public ActionResult AddOrEditRecipeIngridient(int recipeId, int ingridientId)
        {
            RecipeIngridientView recipeIngridient = null;

            if (ingridientId != 0)
            {
                recipeIngridient = _recipeProvider.GetRecipeIngridient(recipeId, ingridientId);
            }

            EditRecipeIngridientViewModel model = ParseRecipeIngridient(recipeIngridient, recipeId);

            if (Request.IsAjaxRequest())
            {
                return(PartialView("_AddOrEditRecipeIngridient", model));
            }
            else
            {
                return(View("AddOrEditRecipeIngridient", model));
            }
        }
예제 #3
0
        public RecipeIngridientView GetRecipeIngridient(int recipeId, int ingridientId)
        {
            List <RecipeIngridientView> recipeIngridientsList = new List <RecipeIngridientView>();
            RecipeIngridientView        recipeIngridientView  = new RecipeIngridientView();

            if (recipeId > 0 && ingridientId > 0)
            {
                _executerRecipeIngridientCmd executer = new _executerRecipeIngridientCmd(ExecuteRecipeIngridientSqlCmd);

                using (SqlConnection sqlConnection = new SqlConnection(_connectionString))
                {
                    using (SqlCommand cmd = new SqlCommand("GetRecipeIngridient", sqlConnection))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.AddWithValue("@RecipeId", recipeId);
                        cmd.Parameters.AddWithValue("@IngridientId", ingridientId);
                        recipeIngridientsList = executer(sqlConnection, cmd);
                        recipeIngridientView  = recipeIngridientsList.FirstOrDefault();
                    }
                }
            }

            return(recipeIngridientView);
        }
예제 #4
0
        private EditRecipeIngridientViewModel ParseRecipeIngridient(RecipeIngridientView recipeIngridient, int recipeId)
        {
            EditRecipeIngridientViewModel editRecipeIngridientViewModel = new EditRecipeIngridientViewModel();
            List <Ingridient>             ingridients       = _ingridientProvider.GetIngridients();
            List <RecipeIngridientView>   recipeIngridients = _recipeProvider.GetRecipeIngridientsByRecipeId(recipeId);

            editRecipeIngridientViewModel.RecipeId = recipeId;

            if (recipeIngridient != null)
            {
                List <Ingridient> ingridientsOne = new List <Ingridient>();
                Ingridient        ingridient     = _ingridientProvider.GetIngridientById(recipeIngridient.IngridientId);
                ingridientsOne.Add(ingridient);
                editRecipeIngridientViewModel.IngridientId = recipeIngridient.IngridientId;
                editRecipeIngridientViewModel.Weight       = recipeIngridient.Weight;
                editRecipeIngridientViewModel.Ingridients  = new SelectList(ingridientsOne, "IngridientId", "Name", recipeIngridient.IngridientId);
            }
            else
            {
                if (recipeIngridients != null)
                {
                    foreach (RecipeIngridientView item in recipeIngridients)
                    {
                        Ingridient ingridient = ingridients.FirstOrDefault(i => i.IngridientId == item.IngridientId);
                        if (ingridient != null)
                        {
                            ingridients.Remove(ingridient);
                        }
                    }
                }

                editRecipeIngridientViewModel.Ingridients = new SelectList(ingridients, "IngridientId", "Name");
            }

            return(editRecipeIngridientViewModel);
        }
예제 #5
0
        public bool IsInsertRecipeIngridient(int recipeId, int ingridientId)
        {
            RecipeIngridientView recipeIngridient = GetRecipeIngridient(recipeId, ingridientId);

            return(recipeIngridient == null);
        }