public async Task Create(DrinkDTO drink)
        {
            if (drink.Name == "")
            {
                throw new Exception("o nome deve ser informado");
            }
            else
            {
                drink.Name = drink.Name.Trim();

                if (drink.Name.Length < 2 || drink.Name.Length > 50)
                {
                    throw new Exception("o nome deve conter de 2 a 50 caracteres");
                }
            }
            if (drink.Description == "")
            {
                throw new Exception("a descirção deve ser informada");
            }
            else
            {
                if (drink.Description.Length < 2 || drink.Description.Length > 100)
                {
                    throw new Exception("o descirção deve conter de 2 a 100 caracteres");
                }
            }
        }
Beispiel #2
0
        private TableDTO CreateAddBillByIDTable(DrinkDTO drink)
        {
            TableDTO table = lstBill.Tag as TableDTO;


            int idBill = BillBUS.GetIDBillNoPaymentByIDTable(table.ID);//lấy lên cái mã id của hóa đơn

            // int idDrink = (cbDrink. SelectedItem as DrinkDTO).ID;//thêm vào 1 gridview để hiển thị
            int idDrink  = drink.ID;
            int quantity = 1;

            //kiểm tra hóa đơn có chưa hay
            if (idBill == -1)//nếu chưa thì tạo 1 hóa đơn mới với mã hóa đơn
            {
                quantity = DetailBillBUS.GetQuantityDrink(idBill, idDrink);
                // sau khi tạo xong 1 hóa đơn mới thì thêm vào bảng chi tiết hóa đơn với các trường tương ứng
                DetailBillBUS.InsertDetailBill(BillBUS.GetIDBillMax(), idDrink, quantity + 1);
            }
            else//nếu đã có thì thêm nó vào cái cá bảng chi tiêt hóa đơn với các trường là mã hóa đơn, mã thức uống và số lượng
            {
                quantity = DetailBillBUS.GetQuantityDrink(idBill, idDrink);
                DetailBillBUS.InsertDetailBill(idBill, idDrink, quantity + 1);
            }
            return(table);
        }
        public static List <DrinkDTO> GetListDrinkByIDTypeDrink(int id, int status)
        {
            List <DrinkDTO> listdrink = new List <DrinkDTO>();
            string          query     = "";

            if (id == 0)
            {
                query = "select top 10 * from DRINK where Status = " + status + " and DRINK.IDTypeDink NOT IN (select ID from TYPEDRINK where Status = 0)";
            }
            else
            {
                if (status == -1)
                {
                    query = "select * from DRINK where IDTypeDink = " + id;
                }
                else
                {
                    query = "select * from DRINK where IDTypeDink = " + id + " and Status = " + status;
                }
            }
            DataTable data = DataProvider.Instance.ExcuteQuery(query);

            foreach (DataRow item in data.Rows)
            {
                DrinkDTO drink = new DrinkDTO(item);
                listdrink.Add(drink);
            }
            return(listdrink);
        }
        public async Task <IActionResult> Create(DrinkInsertViewModel viewModel)
        {
            var configuration = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <DrinkInsertViewModel, DrinkDTO>();
            });

            IMapper mapper = configuration.CreateMapper();

            DrinkDTO dto = mapper.Map <DrinkDTO>(viewModel);

            try
            {
                await _drinkService.Create(dto);

                return(RedirectToAction("Home", "Index"));
            }
            catch (NecoException ex)
            {
                ViewBag.ValidationErrors = ex.Errors;
            }
            catch (Exception ex)
            {
                ViewBag.ErrorMessage = ex.Message;
            }
            return(View());
        }
Beispiel #5
0
        public ActionResult Drink(DrinkModel model, HttpPostedFileBase fileUpload)
        {
            DrinkDTO dto = new DrinkDTO()
            {
                Id    = model.Id,
                Cost  = model.Cost,
                Count = model.Count,
                Ord   = model.Ord,
            };

            byte[] image = null;
            if (fileUpload != null)
            {
                using (var binaryReader = new BinaryReader(fileUpload.InputStream))
                {
                    image = binaryReader.ReadBytes(fileUpload.ContentLength);
                }
            }

            if (execute(delegate()
            {
                adminService.SaveDrink(dto, image);
            }))
            {
                return(View("Index", getAdminModel()));
            }
            else
            {
                return(View(model));
            };
        }
        // POST: api/Drinks
        public IHttpActionResult Post([FromBody] DrinkDTO drinkDto)
        {
            var drink          = new Drink(drinkDto.DrinkName);
            var drinkInventory = new DrinkInventory(drink, drinkDto.Quantity);

            var succeeded = _drinksRepository.Add(drinkInventory);

            return(succeeded ? (IHttpActionResult)Ok() : BadRequest("A drink with this name already exists"));
        }
Beispiel #7
0
 private void lstSanPham_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (lstSanPham.SelectedItems.Count > 0)
     {
         DrinkDTO drink = lstSanPham.SelectedItems[0].Tag as DrinkDTO;
         // Them qua ListView
         //kiểm tra đã chọn bàn hay chưa
         try
         {
             if (choseTable != null)
             {
                 if ((objTable as Button).Tag != null)
                 {
                     Button btnTable = (objTable as Button);
                     //tag cái bàn đang chọn vào
                     TableDTO table   = (objTable as Button).Tag as TableDTO;
                     int      idTable = table.ID;
                     if (TableBUS.GetStatusByIDTable(idTable) == 0)
                     {
                         DialogResult kq = MessageBox.Show("Bạn đang chọn bàn mới.\n Bạn có muốn tạo hóa đơn mới cho bàn này chứ?", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                         if (kq == DialogResult.OK)
                         {
                             btnThanhToan.Enabled = true;
                             btnTamTinh.Enabled   = true;
                             lstBill.Tag          = (choseTable as Button).Tag;
                             //ShowBill(idTable);
                             // Cap nhat trang thai bàn
                             TableBUS.UpdateStatusTable(1, idTable);
                             // Tao hóa đơn mới ở đây.
                             BillBUS.InsertBill(DateTime.Now, 0, Program.sAccount.ID, idTable);
                             txtHD.Text    = "HD00" + (string)BillBUS.GetIDBillNoPaymentByIDTable((int)idTable).ToString();
                             btnTable.Text = table.NameTable + Environment.NewLine + "Có";
                         }
                         else
                         {
                             lstBill.Items.Clear();
                             btnThanhToan.Enabled   = false;
                             btnTamTinh.Enabled     = false;
                             cbLoaiThucUong.Enabled = false;
                             txtHD.Text             = "";
                         }
                     }
                     table = CreateAddBillByIDTable(drink);
                     ShowBill(table.ID);
                 }
             }
             else
             {
                 MessageBox.Show("Bạn chưa chọn bàn để thêm thức uống. Vui lòng chọn bàn để tiếp tục!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Question);
             }
         }
         catch
         {
             MessageBox.Show("Hệ thống đang bảo trì, bạn quay lại sau nhé!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Question);
         }
     }
 }
Beispiel #8
0
 private void btnDeDrink_Click(object sender, EventArgs e)
 {
     try
     {
         if (lstDrink.SelectedItems != null)
         {
             ListViewItem lvw    = lstDrink.SelectedItems[0];
             DrinkDTO     sp     = (DrinkDTO)lvw.Tag;
             frm_XacNhan  frm_XN = new frm_XacNhan("Xóa một sản phẩm rất quan trọng. Bạn vui lòng nhập mật khẩu để xác nhận thao tác này!", Program.sAccount);
             if (frm_XN.ShowDialog() == DialogResult.OK)
             {
                 if (AccountBUS.IsLogin(Program.sAccount.ID, frm_XN.txtXacNhap.Text))
                 {
                     if (DetailBillBUS.IsExistDrink(sp.ID) == -1)
                     {
                         if (lstDrink.SelectedItems.Count > 0)
                         {
                             if (DrinkBUS.DeleteDrink(sp) == true)
                             {
                                 MessageBox.Show("Bạn đã xóa thành công sản phẩm SP00" + sp.ID + " khỏi hệ thống!", "Thông báo", MessageBoxButtons.OK);
                                 ShowDrink();
                                 DeleteTextDrink();
                                 btnEditDrink.Visible = false;
                                 btnAdddrink.Visible  = true;
                             }
                             else
                             {
                                 MessageBox.Show("Xóa sản phẩm thất bại, vui lòng thử lại sau!", "Thông báo", MessageBoxButtons.OK);
                             }
                         }
                         else
                         {
                             MessageBox.Show("Chưa chọn thức uống", "Thông báo", MessageBoxButtons.OK);
                         }
                     }
                     else
                     {
                         MessageBox.Show("Thức uống này đã được người dùng chọn hoặc mua trong thời gian trước đó, bạn không thể xóa sản phẩm này!", "Thông báo", MessageBoxButtons.OK);
                     }
                 }
                 else
                 {
                     MessageBox.Show("Bạn nhập sai mật khẩu, vui lòng nhập lại!", "Thông báo", MessageBoxButtons.OK);
                 }
             }
         }
         else
         {
             MessageBox.Show("Bạn vui lòng chọn sản phẩm trước khi thực hiện chức năng này!", "Thông báo", MessageBoxButtons.OK);
         }
     }
     catch
     {
         MessageBox.Show("Hệ thống đang bảo trì chức năng này, vui lòng quay lại sau nhé!", "Thông báo", MessageBoxButtons.OK);
     }
 }
        public static bool UpdateDrink(DrinkDTO sp)
        {
            string query = "Exec USP_UpdateDrink @id , @name , @pricebasic , @saleprice , @status , @idtype ";

            if (DataProvider.Instance.ExcuteNonQuery(query, new object[] { sp.ID, sp.NameDrinks, sp.PriceBasic, sp.SalePrice, sp.Status, sp.IDTypeDrink }) == 1)
            {
                return(true);
            }
            return(false);
        }
        public static bool DeleteDrink(DrinkDTO sp)
        {
            string query = "Exec USP_DeleteByDrink @id ";

            if (DataProvider.Instance.ExcuteNonQuery(query, new object[] { sp.ID }) == -1)
            {
                return(false);
            }
            return(true);
        }
Beispiel #11
0
        public async Task <IActionResult> CreateDrink(DrinkDTO model)
        {
            var result = matrixService.CreateDrink(model);

            if (string.IsNullOrEmpty(result))
            {
                return(Conflict());
            }
            return(Ok(result));
        }
Beispiel #12
0
        public ActionResult Delete(int productId)
        {
            DrinkDTO deletedProduct = orderService.DeleteDrinkDTO(productId);

            if (deletedProduct != null)
            {
                TempData["message"] = string.Format("{0} was deleted", deletedProduct.Name);
            }
            return(RedirectToAction("Drink"));
        }
Beispiel #13
0
        private void btnEditDrink_Click(object sender, EventArgs e)
        {
            try
            {
                if (lstDrink.SelectedItems.Count > 0)
                {
                    if (txtDrinkName.Text == "" || txtPriceDrink.Text == "")
                    {
                        MessageBox.Show("Bạn không thể cập nhật nếu như để trống một trường dữ liệu nào.", "Thông báo", MessageBoxButtons.OK);
                    }
                    else
                    {
                        DrinkDTO sp = lstDrink.SelectedItems[0].Tag as DrinkDTO;
                        sp.NameDrinks = txtDrinkName.Text;
                        sp.PriceBasic = Convert.ToDouble(txtPriceDrink.Text);
                        // Dành cho phát triển thêm chức năng quản lý khuyến mãi
                        sp.SalePrice = sp.PriceBasic;

                        if (radAn.Checked)
                        {
                            sp.Status = 0;
                        }
                        else
                        {
                            sp.Status = 1;
                        }

                        TypeDrinkDTO typedrink = cbTypeDrink.SelectedItem as TypeDrinkDTO;
                        sp.IDTypeDrink = typedrink.ID;

                        if (DrinkBUS.UpdateDrink(sp))
                        {
                            ShowDrink();
                            MessageBox.Show("Bạn đã cập nhật sản phẩm thành công.", "Thông báo", MessageBoxButtons.OK);
                            DeleteTextDrink();
                            btnAdddrink.Visible  = true;
                            btnEditDrink.Visible = false;
                            btnDeDrink.Enabled   = false;
                        }
                        else
                        {
                            MessageBox.Show("Hiện tại bạn đã cập nhật thông tin sản phẩm thất bại!", "Thông báo", MessageBoxButtons.OK);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Bạn vui lòng chọn sản phẩm trước khi thực hiện chức năng này!", "Thông báo", MessageBoxButtons.OK);
                }
            }
            catch
            {
                MessageBox.Show("Hệ thống đang bảo trì chức năng này, vui lòng quay lại sau nhé!", "Thông báo", MessageBoxButtons.OK);
            }
        }
Beispiel #14
0
        public void UpdateDrink(DrinkDTO d)
        {
            var drink = _drinkRepo.List().FirstOrDefault(dr => dr.Id == d.Id);

            drink.Abv        = d.Abv;
            drink.Ingredient = d.Ingredient;
            drink.Name       = d.Name;
            drink.Type       = d.Type;

            _drinkRepo.SaveChanges();
        }
Beispiel #15
0
        public void AddDrinkToList(DrinkDTO d, string user)
        {
            var drink = ProjectToModel(d);
            var bar   = _barRepo.GetBarByUsername(user);

            if (bar.Menu == null)
            {
                bar.Menu = new List <Drink>();
            }
            bar.Menu.Add(drink);
        }
Beispiel #16
0
 private Drink ProjectToModel(DrinkDTO d)
 {
     return(new Drink
     {
         Name = d.Name,
         Type = d.Type,
         Ingredient = d.Ingredient,
         Abv = d.Abv,
         Id = d.Id
     });
 }
Beispiel #17
0
        public List <DrinkDTO> listDrink(int idCategory)
        {
            List <DrinkDTO> ListDrink = new List <DrinkDTO>();
            string          query     = "SELECT * FROM dbo.Drink WHERE idCategory =" + idCategory;
            DataTable       data      = DataProvider.Instance.ExcuteQuery(query);

            foreach (DataRow item in data.Rows)
            {
                DrinkDTO drink = new DrinkDTO(item);
                ListDrink.Add(drink);
            }
            return(ListDrink);
        }
Beispiel #18
0
        public ActionResult Drink(long id)
        {
            DrinkDTO   dto   = adminService.GetDrink(id);
            DrinkModel model = new DrinkModel()
            {
                Id    = dto.Id,
                Cost  = dto.Cost,
                Count = dto.Count,
                Ord   = dto.Ord
            };

            return(View(model));
        }
        public static List <DrinkDTO> GetListDrinkByID(int id)
        {
            List <DrinkDTO> listdrink = new List <DrinkDTO>();
            string          query     = "select * from DRINK where ID = " + id;
            DataTable       data      = DataProvider.Instance.ExcuteQuery(query);

            foreach (DataRow item in data.Rows)
            {
                DrinkDTO drink = new DrinkDTO(item);
                listdrink.Add(drink);
            }
            return(listdrink);
        }
        public static List <DrinkDTO> GeDrinkByName(string name)
        {
            List <DrinkDTO> listdrink = new List <DrinkDTO>();
            string          query     = String.Format("SELECT * FROM dbo.DRINK WHERE dbo.fChuyenCoDauThanhKhongDau(NameDrinks) LIKE N'%' + dbo.fChuyenCoDauThanhKhongDau(N'{0}') + '%' and DRINK.IDTypeDink NOT IN (select ID from TYPEDRINK where Status = 0)", name);
            DataTable       data      = DataProvider.Instance.ExcuteQuery(query);

            foreach (DataRow item in data.Rows)
            {
                DrinkDTO drink = new DrinkDTO(item);
                listdrink.Add(drink);
            }
            return(listdrink);
        }
        // PUT: api/Drinks/5
        public IHttpActionResult Put(string name, [FromBody] DrinkDTO drinkDto)
        {
            var drinkInventory = _drinksRepository.Get(name);

            if (drinkInventory == null)
            {
                return(NotFound());
            }

            var succeeded = drinkInventory.ChangeQuantity(drinkDto.Quantity);

            return(succeeded ? (IHttpActionResult)Ok() : BadRequest("illegal quantity"));
        }
Beispiel #22
0
        public List <DrinkDTO> LoadListDrinkAll()
        {
            List <DrinkDTO> ListDrink = new List <DrinkDTO>();
            string          query     = "SELECT * FROM dbo.Drink ";
            DataTable       data      = DataProvider.Instance.ExcuteQuery(query);

            foreach (DataRow item in data.Rows)
            {
                DrinkDTO drink = new DrinkDTO(item);
                ListDrink.Add(drink);
            }
            return(ListDrink);
        }
Beispiel #23
0
        public void AddDrink(DrinkDTO drink)
        {
            if (_repository.Get(d => d.Name == drink.Name).FirstOrDefault() != null)
            {
                throw new ArgumentException("Duplicate drink");
            }
            var newDrink = new Drink {
                Name = drink.Name, Quantity = drink.Quantity
            };

            _repository.Insert(newDrink);
            _repository.Save();
        }
Beispiel #24
0
        public static DrinkModel ToModel(this DrinkDTO source)
        {
            if (source == null)
            {
                return(null);
            }

            return(new DrinkModel
            {
                ID = source.DrinkID,
                Code = source.Code,
                Description = source.Description
            });
        }
        public DrinkTableEntity(string userId, DrinkDTO drink) : base(userId, drink.Id)
        {
            if (drink == null)
            {
                throw new ArgumentNullException(nameof(drink));
            }

            this.UserId    = userId;
            this.Id        = drink.Id;
            this.Name      = drink.Name;
            this.DrinkType = drink.DrinkType;
            this.AlcPrc    = drink.AlcPrc;
            this.Volume    = drink.Volume;
        }
Beispiel #26
0
        public void AddDrink(DrinkDTO d, string user)
        {
            var drink = ProjectToModel(d);

            _drinkRepo.Add(drink);
            var bar = _barRepo.GetBarByUsername(user);

            //Prevent null ref exceptions from Menu not being initalized.
            if (bar.Menu == null)
            {
                bar.Menu = new List <Drink>();
            }
            bar.Menu.Add(drink);
            _drinkRepo.SaveChanges();
        }
Beispiel #27
0
        public async Task <IActionResult> UpdateDrink(DrinkDTO model)
        {
            if (string.IsNullOrEmpty(model.Id))
            {
                return(BadRequest());
            }

            var result = matrixService.UpdateDrink(model);

            if (!result)
            {
                return(Conflict());
            }

            return(Ok(result));
        }
Beispiel #28
0
        private void btnAdddrink_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtDrinkName.Text == "" || txtPriceDrink.Text == "")
                {
                    MessageBox.Show("Bạn không thể thêm nếu như để trống một trường dữ liệu nào.", "Thông báo", MessageBoxButtons.OK);
                }
                else
                {
                    DrinkDTO sp = new DrinkDTO();

                    sp.NameDrinks = txtDrinkName.Text;
                    sp.PriceBasic = Convert.ToDouble(txtPriceDrink.Text);
                    sp.SalePrice  = sp.PriceBasic;
                    if (radAn.Checked)
                    {
                        sp.Status = 0;
                    }
                    else
                    {
                        sp.Status = 1;
                    }
                    sp.SalePrice = sp.PriceBasic;
                    // Chọn loại sản phẩm
                    TypeDrinkDTO typedrink = cbTypeDrink.SelectedItem as TypeDrinkDTO;
                    sp.IDTypeDrink = typedrink.ID;

                    if (DrinkBUS.InsertDrink(sp) == true)
                    {
                        MessageBox.Show("Thêm mới thành công.", "Thông báo", MessageBoxButtons.OK);
                        ShowDrink();
                        DeleteTextDrink();
                    }
                    else
                    {
                        MessageBox.Show("Thêm mới sản phẩm thất bại, vui lòng kiểm tra dữ liệu nhập vào!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
            }
            catch
            {
                MessageBox.Show("Hệ thống đang bảo trì chức năng này, vui lòng quay lại sau nhé!", "Thông báo", MessageBoxButtons.OK);
            }
        }
Beispiel #29
0
        public void Add_DrinkNameAndQuantity_DrinkAdded()
        {
            // Arrange
            var added = false;
            var drink = new DrinkDTO {
                Name = "DrinkName", Quantity = 1
            };

            _drinkServiceMock.Setup(
                s =>
                s.AddDrink(drink)).Callback(() => added = true);

            // Act
            _controller.Add(drink);

            // Assert
            Assert.IsTrue(added);
        }
Beispiel #30
0
        public void Add_ExistingDrink_ArgumentExceptionWithMessage()
        {
            // Arrange
            var drink = new DrinkDTO {
                Name = "Pepsi", Quantity = 3
            };

            // Act
            try
            {
                _drinkService.AddDrink(drink);
            }
            catch (ArgumentException ex)
            {
                // Assert
                Assert.AreEqual("Duplicate drink", ex.Message);
            }
        }