Example #1
0
        /// <summary>
        /// 판매 메뉴를 업데이트 하기 위한 메서드
        /// </summary>
        /// <param name="salesMenuVO">판매메뉴 객체</param>
        /// <param name="oldeMenuCode">수정하기 전의  메뉴코드</param>
        /// <returns>성공여부 행의 개수를 반환</returns>
        public int UpdateMenu(SalesMenuVO salesMenuVO, string oldeMenuCode)
        {
            connection = new DBConnection();
            string storedProcedure = "UpdateSalesMenu";

            SqlParameter[] sqlParameters = new SqlParameter[]
            {
                new SqlParameter("menuCode", salesMenuVO.MenuCode),
                new SqlParameter("menuName", salesMenuVO.MenuName),
                new SqlParameter("price", salesMenuVO.Price),
                new SqlParameter("kCal", salesMenuVO.Kcal),
                new SqlParameter("menuImageLocation", salesMenuVO.MenuImageLocation),
                new SqlParameter("division", salesMenuVO.Division),
                new SqlParameter("additionalContext", salesMenuVO.AdditionalContext),
                new SqlParameter("discountRatio", salesMenuVO.DiscountRatio),
                new SqlParameter("oldMenuCode", oldeMenuCode)
            };
            try
            {
                return(connection.Update(storedProcedure, sqlParameters));
            }
            catch (SqlException)
            {
                throw;
            }
        }
Example #2
0
        /// <summary>
        /// 모든 메뉴를 검색하는OutPutAllMenus 메서드
        /// </summary>
        /// <returns>모든메뉴를 List of SalesMenuVO화 시켜 반환</returns>
        public List <SalesMenuVO> OutPutAllMenus()
        {
            List <SalesMenuVO> lst = new List <SalesMenuVO>();
            string             sp  = "SelectMenu";

            try
            {
                SqlDataReader sdr = new DBConnection().Select(sp, null);
                while (sdr.Read())
                {
                    SalesMenuVO salesMenu = new SalesMenuVO();

                    salesMenu.MenuCode          = sdr["menuCode"].ToString();
                    salesMenu.MenuName          = sdr["menuName"].ToString();
                    salesMenu.AdditionalContext = sdr["additionalContext"].ToString();
                    salesMenu.Division          = int.Parse(sdr["division"].ToString());
                    salesMenu.Kcal = Convert.ToInt32(sdr["kCal"]);
                    salesMenu.MenuImageLocation = sdr["menuImageLocation"].ToString();
                    salesMenu.Price             = float.Parse(sdr["price"].ToString());
                    salesMenu.DiscountRatio     = float.Parse(sdr["discountRatio"].ToString());
                    lst.Add(salesMenu);
                }
                return(lst);
            }
            catch (SqlException)
            {
                throw;
            }
        }
Example #3
0
        /// <summary>
        /// 메뉴코드별 메뉴를 검색하는 메서드
        /// </summary>
        /// <param name="menuCode">메뉴코드</param>
        /// <param name="division">구분</param>
        /// <returns>검색 결과를 컬렉션으로 반환</returns>
        public List <SalesMenuVO> SelectMenuByMenuCode(string menuCode, int division)
        {
            List <SalesMenuVO> lst = new List <SalesMenuVO>();
            string             sp  = "SelectMenuByMenuCode";

            SqlParameter[] sqlParameters = new SqlParameter[]
            {
                new SqlParameter("menuCode", menuCode),
                new SqlParameter("division", division)
            };
            try
            {
                SqlDataReader sdr = new DBConnection().Select(sp, sqlParameters);
                while (sdr.Read())
                {
                    SalesMenuVO salesMenu = new SalesMenuVO();
                    salesMenu.MenuCode          = sdr["menuCode"].ToString();
                    salesMenu.MenuName          = sdr["menuName"].ToString();
                    salesMenu.AdditionalContext = sdr["additionalContext"].ToString();
                    salesMenu.Division          = int.Parse(sdr["division"].ToString());
                    salesMenu.Kcal = Convert.ToInt32(sdr["kCal"]);
                    salesMenu.MenuImageLocation = sdr["menuImageLocation"].ToString();
                    salesMenu.Price             = float.Parse(sdr["price"].ToString());
                    salesMenu.DiscountRatio     = float.Parse(sdr["discountRatio"].ToString());
                    lst.Add(salesMenu);
                }
                return(lst);
            }
            catch (SqlException)
            {
                throw;
            }
        }
Example #4
0
 /// <summary>
 /// 메뉴를 업데이트 하는 메서드
 /// </summary>
 /// <param name="salesMenuVO">업데이트 할 메뉴의 정보를 담고있는 객체</param>
 /// <param name="menuUpdateSucess">업데이트 성공 여부</param>
 /// <returns>업데이트 성공 여부 반환.</returns>
 private bool UpdatingMenu(SalesMenuVO salesMenuVO, bool menuUpdateSucess)
 {
     try
     {
         int result = new SalesMenuDAO().UpdateMenu(salesMenuVO, oldMenuCode);
         if (result < 1)
         {
             MessageBox.Show(result.ToString());
             menuUpdateSucess = false;
         }
         else
         {
             pbxPhoto.Image.Save(Application.StartupPath + salesMenuVO.MenuImageLocation);
             new BUS.CheckImages().DoAllCheck();
             menuUpdateSucess = true;
         }
     }
     catch (SqlException ex)
     {
         if (ex.Message.Contains("PRIMARY"))
         {
             MessageBox.Show("메뉴코드 혹은 메뉴이름에 중복된 데이터가 있습니다!");
         }
         else
         {
             MessageBox.Show(ex.Message);
         }
         menuUpdateSucess = false;
     }
     return(menuUpdateSucess);
 }
Example #5
0
        /// <summary>
        /// 메뉴를 등록하기위해 데이터를 받아와 DAO단으로 전송해주는 메서드
        /// </summary>
        /// <param name="menuCode">메뉴코드</param>
        /// <param name="menuName">메뉴이름</param>
        /// <param name="price">가격</param>
        /// <param name="kcal">Kcal</param>
        /// <param name="division">구분</param>
        /// <param name="addContxt">부가설명</param>
        /// <param name="imageLocation">이미지 경로</param>
        /// <param name="sucessMenu">성공여부</param>
        /// <param name="discountRatio">할인율</param>
        /// <returns>등록 성공 여부를 반환.</returns>
        private bool InsertingMenu(string menuCode, string menuName, string price, string kcal, string division, string addContxt, string discountRatio, string imageLocation, bool sucessMenu)
        {
            sucessMenu = false;
            SalesMenuVO salesMenuVO = new SalesMenuVO();

            salesMenuVO.MenuCode          = menuCode;
            salesMenuVO.MenuName          = menuName;
            salesMenuVO.Price             = float.Parse(price);
            salesMenuVO.Kcal              = int.Parse(kcal);
            salesMenuVO.MenuImageLocation = images;
            foreach (Division item in Enum.GetValues(typeof(Division)))
            {
                if (item.ToString().Equals(division))
                {
                    salesMenuVO.Division = (int)item;
                }
            }
            salesMenuVO.AdditionalContext = addContxt;
            salesMenuVO.DiscountRatio     = float.Parse(discountRatio);
            try
            {
                if (new SalesMenuDAO().InsertMenu(salesMenuVO))
                {
                    try
                    {
                        pbxPhoto.Image.Save(Application.StartupPath + salesMenuVO.MenuImageLocation);
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("등록된 사진이 없습니다.");
                    }
                    new BUS.CheckImages().DoAllCheck();
                    sucessMenu = true;
                }
            }
            catch (SqlException ex)
            {
                if (ex.Message.Contains("PRIMARY") && ex.Message.Contains("constraint"))
                {
                    MessageBox.Show("메뉴코드에 중복된 데이터가 있습니다!");
                }
                else if (ex.Message.Contains("UNIQUE") && ex.Message.Contains("constraint"))
                {
                    MessageBox.Show("메뉴이름에 중복된 데이터가 있습니다!");
                }
                else
                {
                    MessageBox.Show(ex.Message);
                }
            }
            return(sucessMenu);
        }
Example #6
0
        private void btnMnuUpdate_Click(object sender, EventArgs e)
        {
            //1. 만약 바뀌기 전 후가 전부 샌드위치이면
            //메뉴 업데이트 -> 레시피 업데이트
            //2. 만약 oldDivision이 샌드위치이고, division이 샌드위치가 아니면
            //레시피 삭제 -> 메뉴 업데이트
            //메뉴코드 삭제
            //3. 만약 oldDivision이 샌드위치가 아니고, division이 샌드위치이면
            //메뉴 수정 - > 레시피 등록
            //메뉴코드 등록
            string menuCode            = msktbxMnuCode.Text;
            string menuName            = tbxMnuName.Text.Replace(" ", "").Trim();
            string price               = tbxPrice.Text.Replace(",", "").Trim();
            string kcal                = tbxKcal.Text.Replace(" ", "").Trim();
            string division            = cbxDivision.Text.Replace(" ", "").Trim();
            string addContxt           = tbxAddContxt.Text.Trim();
            string discountRatio       = tbxDiscountRatio.Text.Replace(" ", "").Trim();
            string ImageLocation       = images;
            bool   menuUpdateSucess    = false;
            bool   successInsertRecipe = false;
            bool   sucessUpdateRecipe  = false;
            bool   sucessdeleteRecipe  = false;

            if (ValidateNull(menuCode, menuName, price, kcal, division, addContxt, discountRatio, ImageLocation) && ValidateType(price, kcal, discountRatio) && ValidateMenuCode(menuCode))
            {
                SalesMenuVO salesMenuVO = new SalesMenuVO();
                salesMenuVO.MenuCode          = menuCode;
                salesMenuVO.MenuName          = menuName;
                salesMenuVO.Price             = float.Parse(price);
                salesMenuVO.Kcal              = int.Parse(kcal);
                salesMenuVO.MenuImageLocation = ImageLocation;
                foreach (Division item in Enum.GetValues(typeof(Division)))
                {
                    if (item.ToString().Equals(division))
                    {
                        salesMenuVO.Division = (int)item;
                    }
                }
                salesMenuVO.AdditionalContext = addContxt;
                salesMenuVO.DiscountRatio     = float.Parse(discountRatio);
                //수정전 과 수정후가 같고 그것이 샌드위치이면..
                if (oldDivision == salesMenuVO.Division && oldDivision == 0)
                {
                    menuUpdateSucess   = UpdatingMenu(salesMenuVO, menuUpdateSucess);
                    sucessUpdateRecipe = UpdatingRecipe(menuCode, sucessUpdateRecipe);
                }
                //수정 전은 샌드위치고 수정후는 샌드위치가 아니면
                if (oldDivision == 0 && salesMenuVO.Division != 0)
                {
                    try
                    {
                        if (new MenuRecipeDAO().DeleteRecipesByMenuCode(salesMenuVO.MenuCode))
                        {
                            sucessdeleteRecipe = true;
                        }
                    }
                    catch (SqlException ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    menuUpdateSucess = UpdatingMenu(salesMenuVO, menuUpdateSucess);
                }
                //수정 전은 샌드위치가 아니고, 수정 후 샌드위치이면
                else if (oldDivision != 0 && salesMenuVO.Division == 0)
                {
                    menuUpdateSucess    = UpdatingMenu(salesMenuVO, menuUpdateSucess);
                    successInsertRecipe = InsertingRecipe(salesMenuVO.MenuCode, successInsertRecipe);
                }
                //수정 전과 수정 후 전부 샌드위치가 아니라면
                else if (oldDivision != 0 && salesMenuVO.Division != 0)
                {
                    menuUpdateSucess = UpdatingMenu(salesMenuVO, menuUpdateSucess);
                }

                ReflashData();
            }
            if ((menuUpdateSucess && sucessUpdateRecipe))
            {
                MessageBox.Show("메뉴 수정 완료(레시피 수정 완료)");
            }
            else if (menuUpdateSucess && sucessdeleteRecipe)
            {
                MessageBox.Show("메뉴 수정 성공(이전 레시피 삭제)");
            }
            else if (menuUpdateSucess && successInsertRecipe)
            {
                MessageBox.Show("메뉴 수정 성공(추가 레시피 등록)");
            }
            else if (menuUpdateSucess && !sucessUpdateRecipe && !sucessdeleteRecipe && !successInsertRecipe)
            {
                MessageBox.Show("메뉴 수정 완료");
            }
            btnClear_Click(null, null);
        }