public static void DeleteRecipe(string _recipeid)
        {
            using (MySqlConnection conn = new MySqlConnection(PortalUtility.GetConnectionString("default")))
            {
                conn.Open();
                //Have to get all current images so we can delete the image files
                MySqlCommand imgcmd = new MySqlCommand("Recipe_Select_RecipeImages", conn);
                imgcmd.CommandType = CommandType.StoredProcedure;
                imgcmd.Parameters.AddWithValue("@pRecipeID", _recipeid);
                MySqlDataAdapter da = new MySqlDataAdapter(imgcmd);
                DataSet          ds = new DataSet();
                da.Fill(ds, "Images");

                foreach (DataRow dr in ds.Tables["Images"].Rows)
                {
                    (new RecipeImage(dr)).DeleteImage(conn);
                }

                MySqlCommand cmd = new MySqlCommand("Recipe_DeleteRecipe", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@pRecipeID", _recipeid);
                cmd.ExecuteNonQuery();

                conn.Close();
            }
        }
示例#2
0
        public string AddNewUser()
        {
            string resultmsg = string.Empty;

            if (!string.IsNullOrEmpty(this.UserName) && !string.IsNullOrEmpty(this.Password))
            {
                this.EncryptionSeed = Guid.NewGuid().ToString();
                this.Password       = PortalUtility.HashString(this.EncryptionSeed, this.Password);

                try
                {
                    using (MySqlConnection conn = new MySqlConnection(PortalUtility.GetConnectionString("default")))
                    {
                        conn.Open();

                        MySqlCommand cmd = new MySqlCommand("Security_Insert_User", conn);
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.AddWithValue("@pUsername", this.UserName);
                        cmd.Parameters.AddWithValue("@pPassword", this.Password);
                        cmd.Parameters.AddWithValue("@pEncryptionSeed", this.EncryptionSeed);
                        cmd.ExecuteNonQuery();
                        conn.Close();

                        resultmsg = "Success";
                    }
                }
                catch (Exception ex)
                {
                    resultmsg = ex.Message;
                }
            }

            return(resultmsg);
        }
 public void SaveCategory(string _recipeid)
 {
     using (MySqlConnection conn = new MySqlConnection(PortalUtility.GetConnectionString("default")))
     {
         conn.Open();
         SaveCategory(_recipeid, conn);
         conn.Close();
     }
 }
 public void SaveDirection()
 {
     using (MySqlConnection conn = new MySqlConnection(PortalUtility.GetConnectionString("default")))
     {
         conn.Open();
         SaveDirection(conn);
         conn.Close();
     }
 }
 public void DeleteImage()
 {
     using (MySqlConnection conn = new MySqlConnection(PortalUtility.GetConnectionString("default")))
     {
         conn.Open();
         DeleteImage(conn);
         conn.Close();
     }
 }
        public void SaveRecipe()
        {
            using (MySqlConnection conn = new MySqlConnection(PortalUtility.GetConnectionString("default")))
            {
                conn.Open();
                //Save base recipe information
                MySqlCommand cmd = new MySqlCommand("Recipe_SaveRecipe", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@pTitle", this.Title);
                cmd.Parameters.AddWithValue("@pDescription", this.Description);
                cmd.Parameters.AddWithValue("@pRecipeID", this.RecipeID);
                cmd.Parameters["@pRecipeID"].Direction = ParameterDirection.Input;
                cmd.Parameters.Add("@pRecipeIDOut", MySqlDbType.VarString);
                cmd.Parameters["@pRecipeIDOut"].Direction = ParameterDirection.Output;
                cmd.ExecuteNonQuery();
                //Make sure we have the recipe id if it's a new recipe
                this.RecipeID = cmd.Parameters["@pRecipeIDOut"].Value.ToString();

                //Clear out any existing directions, ingredients, and categories.
                //This is just easier/lazier than trying to only delete what has been removed
                cmd             = new MySqlCommand("Recipe_ClearData", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@pRecipeID", this.RecipeID);
                cmd.ExecuteNonQuery();
                //Save ingredients
                foreach (RecipeIngredient ing in this.IngredientList)
                {
                    ing.RecipeID = this.RecipeID;
                    ing.SaveIngredient(conn);
                }
                //Save directions
                foreach (RecipeDirection dir in this.DirectionList)
                {
                    dir.RecipeID = this.RecipeID;
                    dir.SaveDirection(conn);
                }
                //Save categories
                foreach (Recipe.Category cat in this.CategoryList)
                {
                    //only save selected categories
                    if (cat.IsSelected)
                    {
                        cat.SaveCategory(this.RecipeID, conn);
                    }
                }
                //Save images
                foreach (RecipeImage img in this.ImageList)
                {
                    img.RecipeID = this.RecipeID;
                    img.SaveImage(conn);
                }

                //Delete any images that have been removed
                //Have to do this manually because we need to delete the physical image files
                cmd             = new MySqlCommand("Recipe_Select_RecipeImages", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@pRecipeID", this.RecipeID);
                MySqlDataAdapter da = new MySqlDataAdapter(cmd);
                DataSet          ds = new DataSet();
                da.Fill(ds, "Images");

                List <RecipeImage> currentimgs = new List <RecipeImage>();
                foreach (DataRow dr in ds.Tables["Images"].Rows)
                {
                    currentimgs.Add(new RecipeImage(dr));
                }

                foreach (RecipeImage img in currentimgs)
                {
                    if (!(this.ImageList.Exists(x => x.ImageName == img.ImageName)))
                    {
                        img.DeleteImage(conn);
                    }
                }

                conn.Close();
            }
        }