Ejemplo n.º 1
0
 public void CheckSetQuantity()
 {
     try
     {
         var newitems = OrderItemsList.Where(x => x.SNO == 0).ToList();
         foreach (var i in OrderItemsList)
         {
             var item = SelectedItemsList.ToList().Find(x => x.MCODE == i.MCODE);
             if (i.SNO == 0)
             {
                 if (item != null)
                 {
                     item.SetQuantity = (decimal)i.Quantity;
                 }
             }
             else
             {
                 if (item != null)
                 {
                     item.SetQuantity = 0;
                 }
             }
         }
     }catch (Exception ex)
     {
         DependencyService.Get <IMessage>().ShortAlert(ex.Message);
     }
 }
Ejemplo n.º 2
0
        private void UpdateOrder(KOTProd item)
        {
            var index = OrderItemsList.IndexOf(item);

            OrderItemsList.Remove(item);
            OrderItemsList.Insert(index, item);
        }
Ejemplo n.º 3
0
        public void ExecuteDecreaseMenuItemCommand(M.MenuItem menuItem)
        {
            if (menuItem.QUANTITY < 1)
            {
                DependencyService.Get <IMessage>().ShortAlert("Cannot decrease");
                return;
            }

            var items = OrderItemsList.ToList().Where(x => (x.MCODE == menuItem.MCODE && x.Quantity > 0));
            var obj   = items.ToList().Find(x => x.SNO == 0);

            if (obj == null)
            {
                DependencyService.Get <IMessage>().ShortAlert("Cannot decrease already Ordered Items from here");
                return;
                //decimal count = 0;
                //foreach (var item in items)
                //{
                //    count += (decimal)item.Quantity;
                //}
                //if (count > 1)
                //{
                //    obj = items.ToList().Find(x => (x.Quantity-x.DecQuantity) > 1);
                //}
                //else
                //{
                //    DependencyService.Get<IMessage>().ShortAlert("Cannot decrease");
                //    return;
                //}
            }
            ExecuteDecreaseOrderCommand(obj);
        }
Ejemplo n.º 4
0
        public void ExecuteRemarksOkCommand()
        {
            var found = OrderItemsList.Where(x => x.OrderSNO == SelectedOrderItem.OrderSNO).ToList();

            found.ForEach(x => x.Remarks = SelectedOrderItem.Remarks);
            IsRemarks = false;
        }
Ejemplo n.º 5
0
        //Command Execution for Order Clicked in KOTMainMenuPage
        public void ExecuteOrderCommand(M.MenuItem obj)
        {
            try
            {
                if (obj.SetQuantity == 0)
                {
                    DependencyService.Get <IMessage>().ShortAlert("Enter Quantity to Order");
                    return;
                }
                else
                {
                    var selected = SelectedItemsList.ToList().Find(x => x.MCODE == obj.MCODE);

                    var item    = OrderItemsList.ToList().Find(x => ((x.MCODE == obj.MCODE) && (x.SNO == 0)));
                    var KOTItem = M.MenuItem.MenuItemsToKOTProd(obj);

                    KOTItem.Quantity = (double)obj.SetQuantity;
                    OrderItemsList.Add(KOTItem);
                    DependencyService.Get <IMessage>().ShortAlert("Item added to Order List");

                    selected.SetQuantity = 0;

                    SelectedItemCount(obj);

                    //OrderItemsList = new ObservableCollection<KOTProd>(OrderItemsList);
                    //OrderItemsList.OrderBy(x => x.SNO);
                    DecreaseItemCount();
                }
            }catch (Exception ex)
            {
                DependencyService.Get <IMessage>().ShortAlert(ex.Message);
            }
        }
Ejemplo n.º 6
0
        //Function for viewing the change in KOTMainMenuPage
        public void SelectedItemCount(M.MenuItem obj)
        {
            try
            {
                var     selected = SelectedItemsList.ToList().Find(x => x.MCODE == obj.MCODE);
                var     items    = OrderItemsList.Where(x => x.MCODE == selected.MCODE).ToList();
                decimal count    = 0;
                foreach (var i in items)
                {
                    count = count + (decimal)i.Quantity;
                }
                selected.QUANTITY = count;

                decimal setCount = 0;
                var     newItems = items.Where(x => x.SNO == 0).ToList();
                if (newItems != null)
                {
                    foreach (var i in newItems)
                    {
                        setCount = setCount + (decimal)i.Quantity;
                    }
                    selected.SetQuantity = setCount;
                }
            }
            catch (Exception ex)
            {
                DependencyService.Get <IMessage>().ShortAlert(ex.Message);
            }
        }
Ejemplo n.º 7
0
        //Command Execution for New and Save KOT Button
        public async void ExecuteKOTCommand(string val)
        {
            try
            {
                var res = await App.Current.MainPage.DisplayAlert("Confirm", "Are you sure?", "Yes", "No");

                if (res)
                {
                    //New KOT
                    if (val == "1")
                    {
                        await App.Current.MainPage.Navigation.PopAsync();
                    }

                    //Save KOT
                    else if (val == "2")
                    {
                        if (OrderItemsList == null || OrderItemsList.Count == 0)
                        {
                            DependencyService.Get <IMessage>().ShortAlert("No Order Items");
                            return;
                        }

                        var items = OrderItemsList;
                        if (items != null)
                        {
                            KOTListTransfer KOTData = new KOTListTransfer();
                            KOTData.TABLENO = Helpers.Data.SelectedTable.TableNo;
                            KOTData.TRNUSER = Helpers.Constants.User.UserName;
                            KOTData.PAX     = Helpers.Data.PAX;

                            KOTData.KOTProdList = OrderItemsList.ToList();

                            LoadingMessage = "Please Wait! Saving KOT Items";
                            IsLoading      = true;

                            var result = await TableDataAccess.SaveKOTProdListAsync(KOTData);

                            if (result == "Success")
                            {
                                DependencyService.Get <IMessage>().ShortAlert("Order Saved Successfully");
                                App.Current.MainPage = new NavigationPage(new HomePage());
                            }
                            else
                            {
                                DependencyService.Get <IMessage>().ShortAlert(result);
                            }
                            IsLoading = false;
                        }
                    }
                }
            }catch (Exception ex)
            {
                DependencyService.Get <IMessage>().ShortAlert(ex.Message);
            }
        }
Ejemplo n.º 8
0
        public async void ExecuteSaveCommand()
        {
            try
            {
                var result = await App.Current.MainPage.DisplayAlert("Confirm", "Are you sure to save Split?", "Yes", "No");

                if (result)
                {
                    LoadingMessage = "Loading Please Wait!!!";
                    IsLoading      = true;
                    if (Helpers.Data.SelectedTable == null)
                    {
                        DependencyService.Get <IMessage>().ShortAlert("Data mismatch Error.");
                        IsLoading = false;
                        return;
                    }

                    var           list          = new List <KOTProd>(OrderItemsList);
                    var           recList       = new List <KOTProd>(Helpers.Data.OrderItemsList);
                    SplitTransfer SplitTransfer = new SplitTransfer();

                    SplitTransfer = new SplitTransfer()
                    {
                        TableNo      = Helpers.Data.SelectedTable.TableNo,
                        transferData = OrderItemsList.ToList(),
                        TRNUSER      = Helpers.Constants.User.UserName
                    };



                    SplitTransfer.transferData.ForEach(x => x.DispatchTime = null);
                    SplitTransfer.transferData.ForEach(x => x.TRNDATE      = null);

                    var res = await TableTransferAccess.GetSplitTableAsync(SplitTransfer);

                    if (res.ToLower() == "success")
                    {
                        DependencyService.Get <IMessage>().ShortAlert("Split Successful");
                        await App.Current.MainPage.Navigation.PopModalAsync();
                    }
                    else
                    {
                        DependencyService.Get <IMessage>().ShortAlert(res);
                    }
                    IsLoading = false;
                }
            }
            catch (Exception e)
            {
                IsLoading = false;
                DependencyService.Get <IMessage>().ShortAlert(e.Message);
            }
        }
Ejemplo n.º 9
0
        public bool AddOrderItem(OrderItem ordItem)
        {
            if (OrderItemsList.Count > 0)
            {
                foreach (var Item in OrderItemsList)
                {
                    if (Item.PizzaItem.ToString().Equals(ordItem.PizzaItem.ToString()))
                    {
                        return(false);
                    }
                }
            }


            OrderItemsList.Add(ordItem);
            OnPropertyChanged("TotalPrice");
            return(true);
        }
Ejemplo n.º 10
0
 public void ViewTableItems(TableDetail tableDetail)
 {
     SelectedOrder = null;
     _oldItem      = null;
     try
     {
         if (tableDetail.TableNo == "All")
         {
             OrderItemsList = new ObservableCollection <KOTProd>(DisplayList);
         }
         else
         {
             OrderItemsList = new ObservableCollection <KOTProd>(DisplayList.Where(x => x.TABLENO == tableDetail.TableNo));
         }
         OrderItemsList.ForEach(x => x.IsVisible = false);
     }catch (Exception ex)
     {
         DependencyService.Get <IMessage>().ShortAlert(ex.Message);
     }
 }
Ejemplo n.º 11
0
 private void DecreaseItemCount()
 {
     try
     {
         OrderItemsList.ToList().ForEach(x => x.DecQuantity = 0);
         foreach (var item in OrderItemsList)
         {
             if (item.Quantity < 0)
             {
                 var found = OrderItemsList.ToList().Find(x => x.SNO == item.REFSNO);
                 if (found != null)
                 {
                     found.DecQuantity += item.Quantity;
                 }
             }
         }
     }catch (Exception ex)
     {
         DependencyService.Get <IMessage>().ShortAlert(ex.Message);
     }
 }
Ejemplo n.º 12
0
 public void ViewItems(string ItemDesc)
 {
     SelectedOrder = null;
     _oldItem      = null;
     try
     {
         if (ItemDesc == "All")
         {
             OrderItemsList = new ObservableCollection <KOTProd>(DisplayList);
         }
         else
         {
             OrderItemsList = new ObservableCollection <KOTProd>(DisplayList.Where(x => x.ItemDesc == ItemDesc));
         }
         OrderItemsList.ForEach(x => x.IsVisible = false);
     }
     catch (Exception ex)
     {
         DependencyService.Get <IMessage>().ShortAlert(ex.Message);
     }
 }
Ejemplo n.º 13
0
        public void ExecuteSplitOkCommand()
        {
            try
            {
                var sno   = TransferItemsList.FirstOrDefault().SNO;
                var found = OrderItemsList.ToList().Find(x => x.SNO == sno);
                if (found != null)
                {
                    OrderItemsList.Remove(found);
                }

                //var count = OrderItemsList.ToList().MaxBy(x => x.SNO);
                var items = OrderItemsList.Select(i => i.SNO).ToList();
                var count = 0;
                if (items.Count > 0)
                {
                    count = items.Max();
                }

                foreach (var i in TransferItemsList)
                {
                    count++;
                    i.SNO = count;
                }

                foreach (var i in TransferItemsList)
                {
                    var newItem = new KOTProd(i);
                    newItem.Quantity = i.Quantity;
                    OrderItemsList.Add(newItem);
                }
                IsSplit = false;
            }catch (Exception ex)
            {
                IsSplit = false;
                DependencyService.Get <IMessage>().ShortAlert(ex.Message);
            }
        }
Ejemplo n.º 14
0
        //Command Execution for Increasing Quantity
        public void ExecuteIncreaseCommand(M.MenuItem obj)
        {
            try
            {
                var selected = SelectedItemsList.ToList().Find(x => x.MCODE == obj.MCODE);
                selected.SetQuantity += 1;
                var item = OrderItemsList.ToList().Find(x => ((x.MCODE == obj.MCODE) && (x.SNO == 0)));

                var KOTItem = M.MenuItem.MenuItemsToKOTProd(obj);
                if (item == null)
                {
                    KOTItem.Quantity = 1;
                    OrderItemsList.Add(KOTItem);
                }
                else
                {
                    item.Quantity += 1;
                    if (item.Quantity > 0)
                    {
                        item.REFSNO = 0;
                    }
                    else if (item.Quantity == 0)
                    {
                        OrderItemsList.Remove(item);
                    }
                }

                SelectedItemCount(obj);

                //OrderItemsList = new List<KOTProd>(OrderItemsList);
                //OrderItemsList.OrderBy(x => x.SNO);
                DecreaseItemCount();
            }
            catch (Exception ex)
            {
                DependencyService.Get <IMessage>().ShortAlert(ex.Message);
            }
        }
Ejemplo n.º 15
0
 public void ExecuteCancelCommand(KOTProd obj)
 {
     try
     {
         if (obj.SNO == 0)
         {
             OrderItemsList.Remove(obj);
             var item = SelectedItemsList.ToList().Find(x => x.MCODE == obj.MCODE);
             if (item != null)
             {
                 item.SetQuantity = 0;
             }
             RefreshOrderItemsList();
         }
         else
         {
             if ((obj.Quantity + obj.DecQuantity) == 0)
             {
                 DependencyService.Get <IMessage>().ShortAlert("Order already Cancelled");
                 return;
             }
             if (obj.Quantity < 0)
             {
                 DependencyService.Get <IMessage>().ShortAlert("Cannot Cancel negative order");
                 return;
             }
             SelectedOrderItem = obj;
             IsCancel          = true;
         }
         CountOrderQuantity();
     }
     catch (Exception ex)
     {
         DependencyService.Get <IMessage>().ShortAlert(ex.Message);
     }
 }
Ejemplo n.º 16
0
        public void AddOrderItem(Pizza pizzaItem, int quantity)
        {
            OrderItem ordItm = new OrderItem(pizzaItem, quantity);

            OrderItemsList.Add(ordItm);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                NVPAPICaller payPalCaller = new NVPAPICaller();

                string   retMsg  = "";
                string   token   = "";
                string   PayerID = "";
                NVPCodec decoder = new NVPCodec();
                token = Session["token"].ToString();

                bool ret = payPalCaller.GetCheckoutDetails(token, ref PayerID, ref decoder, ref retMsg);
                if (ret)
                {
                    Session["payerId"] = PayerID;
                    var myOrder = new Order();
                    myOrder.OrderDate  = Convert.ToDateTime(decoder["TIMESTAMP"].ToString());
                    myOrder.Username   = User.Identity.Name;
                    myOrder.Firstname  = decoder["FIRSTNAME"].ToString();
                    myOrder.LastName   = decoder["LASTNAME"].ToString();
                    myOrder.Address    = decoder["SHIPTOSTREET"].ToString();
                    myOrder.City       = decoder["SHIPTOCITY"].ToString();
                    myOrder.State      = decoder["SHIPTOSTATE"].ToString();
                    myOrder.PostalCode = decoder["SHIPTOZIP"].ToString();
                    myOrder.Country    = decoder["SHIPTOCOUNTRYCODE"].ToString();
                    myOrder.Email      = decoder["EMAIL"].ToString();
                    myOrder.Total      = Convert.ToDecimal(decoder["AMT"].ToString());

                    //Potvrdite ukupan iznos plaćanja kao što je postavljeno na CheckoutStart.aspx
                    try
                    {
                        decimal paymentAmountOnCheckout = Convert.ToDecimal(Session["payment_amt"].ToString());
                        decimal paymentAmountFromPayPal = Convert.ToDecimal(decoder["AMT"].ToString());
                        if (paymentAmountOnCheckout != paymentAmountFromPayPal)
                        {
                            Response.Redirect("CheckoutError.aspx?" + "Desc=Amount%20total%20mismatch.");
                        }
                    }
                    catch (Exception)
                    {
                        Response.Redirect("CheckoutError.aspx?" + "Desc=Amount%20total%20mismatch.");
                    }
                    // Get DB context.
                    ProductContext _db = new ProductContext();

                    // Add order to DB.
                    _db.Orders.Add(myOrder);
                    _db.SaveChanges();

                    // Get the shopping cart items and process them.
                    using (ProdavnicaIgracaka.Logic.ShoppingCartActions usersShoppingCart = new ProdavnicaIgracaka.Logic.ShoppingCartActions())
                    {
                        List <CartItem> myOrderList = usersShoppingCart.GetCartItems();

                        // Add OrderDetail information to the DB for each product purchased.
                        for (int i = 0; i < myOrderList.Count; i++)
                        {
                            // Create a new OrderDetail object.
                            var myOrderDetail = new OrderDetail();
                            myOrderDetail.OrderId   = myOrder.OrderId;
                            myOrderDetail.Username  = User.Identity.Name;
                            myOrderDetail.ProductId = myOrderList[i].ProductId;
                            myOrderDetail.Quantity  = myOrderList[i].Quantity;
                            myOrderDetail.UnitPrice = myOrderList[i].Product.UnitPrice;

                            //// Add OrderDetail to DB.
                            _db.OrderDetails.Add(myOrderDetail);
                            _db.SaveChanges();
                        }

                        // Set OrderId.
                        Session["currentOrderId"] = myOrder.OrderId;

                        // Display Order information.
                        List <Order> orderList = new List <Order>();
                        orderList.Add(myOrder);
                        ShipInfo.DataSource = orderList;
                        ShipInfo.DataBind();

                        // Display OrderDetails.
                        OrderItemsList.DataSource = myOrderList;
                        OrderItemsList.DataBind();
                    }
                }
                else
                {
                    Response.Redirect("CheckoutError.aspx?" + retMsg);
                }
            }
        }
Ejemplo n.º 18
0
        public void ExecuteDecreaseOrderCommand(KOTProd obj)
        {
            try
            {
                //new KOTProd (SNO = 0 )
                if (obj.SNO == 0)
                {
                    if (obj.Quantity > 1)
                    {
                        var item = OrderItemsList.ToList().Find(x => (x.MCODE == obj.MCODE) && (x.SNO == 0));
                        item.Quantity -= 1;
                        OrderItemsList = new ObservableCollection <KOTProd>(OrderItemsList);
                        OrderItemsList.OrderBy(x => x.SNO);

                        M.MenuItem selectedObj = new M.MenuItem()
                        {
                            MCODE = obj.MCODE
                        };
                        SelectedItemCount(selectedObj);
                    }
                    else if (obj.Quantity == 1)
                    {
                        var item = OrderItemsList.ToList().Find(x => (x.MCODE == obj.MCODE) && (x.SNO == 0));
                        OrderItemsList.Remove(item);
                        M.MenuItem selectedObj = new M.MenuItem()
                        {
                            MCODE = obj.MCODE
                        };
                        SelectedItemCount(selectedObj);
                    }
                    else if (obj.Quantity < 1)
                    {
                        DependencyService.Get <IMessage>().ShortAlert("Cannot decrease");
                    }
                }

                //old saved KOTProd ( SNO > 0 )
                else
                {
                    //if quantity is negative return
                    if (obj.Quantity <= 1 || (obj.Quantity + obj.DecQuantity) <= 1)
                    {
                        DependencyService.Get <IMessage>().ShortAlert("Cannot Decrease. Only one Item left.Click Cancel");
                        return;
                    }

                    var items = OrderItemsList.Where(x => x.MCODE == obj.MCODE).ToList();

                    var    negativeItems = items.Where(x => x.REFSNO == obj.SNO);
                    double qty           = 0;
                    double negQty        = 0;
                    foreach (var i in negativeItems)
                    {
                        negQty += i.Quantity;
                    }

                    var match = items.Find(x => x.REFSNO == obj.SNO && x.SNO == 0);
                    if (match != null)
                    {
                        qty = obj.Quantity + negQty;
                        if (qty > 1)
                        {
                            obj.DecQuantity -= 1;
                            match.Quantity  -= 1;
                        }
                        else if (qty == 1)
                        {
                            SelectedOrderItem = obj;
                            IsCancel          = true;
                        }
                    }
                    else
                    {
                        obj.DecQuantity -= 1;
                        var item    = SubMenuList.Find(x => x.MCODE == obj.MCODE);
                        var KOTItem = M.MenuItem.MenuItemsToKOTProd(item);
                        KOTItem.Quantity = -1;
                        KOTItem.REFSNO   = obj.SNO;
                        OrderItemsList.Add(KOTItem);
                        DependencyService.Get <IMessage>().ShortAlert("Item added to Order List");
                    }

                    RefreshOrderItemsList();
                }
            }
            catch (Exception ex)
            {
                DependencyService.Get <IMessage>().ShortAlert(ex.Message);
            }
        }
Ejemplo n.º 19
0
        public async void ExecuteLoginCheckCommand()
        {
            try
            {
                LoadingMessage = "Loading!! Please wait a while";
                IsLoading      = true;
                if (CancelingUser == null)
                {
                    return;
                }
                if (string.IsNullOrEmpty(CancelingUser.UserName))
                {
                    DependencyService.Get <IMessage>().ShortAlert("UserName is empty");
                }
                else if (string.IsNullOrEmpty(CancelingUser.Password))
                {
                    DependencyService.Get <IMessage>().ShortAlert("Password is empty");
                }
                else
                {
                    var res = await LoginConnection.CheckAccessAsync(CancelingUser);

                    if (res.ToLower() == "success")
                    {
                        double qty       = 0;
                        double decreased = 0;
                        double left      = 0;

                        if (SelectedOrderItem.Quantity > 0)
                        {
                            var items = OrderItemsList.Where(x => x.REFSNO == SelectedOrderItem.SNO).ToList();
                            foreach (var i in items)
                            {
                                qty += i.Quantity;
                                if (i.SNO > 0)
                                {
                                    decreased += i.Quantity;
                                }
                            }
                        }

                        var neg = -(SelectedOrderItem.Quantity + qty);
                        if (neg < 0)
                        {
                            var items = OrderItemsList.Where(x => x.REFSNO == SelectedOrderItem.SNO).ToList();
                            foreach (var i in items)
                            {
                                if (i.SNO == 0)
                                {
                                    i.Quantity = -(SelectedOrderItem.Quantity - decreased);
                                    i.Remarks  = CancelingUser.Remarks;
                                    RefreshOrderItemsList();
                                    CancelingUser = new User();
                                    IsCancel      = false;
                                    IsLoading     = false;
                                    return;
                                }
                            }

                            var item    = SubMenuList.Find(x => x.MCODE == SelectedOrderItem.MCODE);
                            var KOTItem = M.MenuItem.MenuItemsToKOTProd(item);
                            KOTItem.Remarks  = CancelingUser.Remarks;
                            KOTItem.Quantity = neg;
                            KOTItem.REFSNO   = SelectedOrderItem.SNO;
                            OrderItemsList.Add(KOTItem);
                        }
                    }
                    else
                    {
                        DependencyService.Get <IMessage>().ShortAlert(res);
                    }
                }
                RefreshOrderItemsList();

                CancelingUser = new User();
                IsCancel      = false;
                IsLoading     = false;
            }catch (Exception ex)
            {
                IsCancel  = false;
                IsLoading = false;
                DependencyService.Get <IMessage>().ShortAlert(ex.Message);
            }
        }