public async void ExecuteTransferCommand(KOTProd SelectedKOTProd)
        {
            try
            {
                TransferItemsList = new ObservableCollection <KOTProd>();
                var res = await App.Current.MainPage.DisplayActionSheet("Choose any one Option", "Cancel", "", "Table", "Item");

                if (res == "Table")
                {
                    TransferType = "Table";
                    var newItem = new KOTProd(SelectedKOTProd);
                    newItem.Quantity = SelectedKOTProd.Quantity;
                    TransferItemsList.Add(newItem);
                    IsSplit = true;
                }
                else if (res == "Item")
                {
                    TransferType = "Item";
                    var count = SelectedKOTProd.Quantity;
                    for (var i = 0; i < count; i++)
                    {
                        var newItem = new KOTProd(SelectedKOTProd);
                        TransferItemsList.Add(newItem);
                    }
                    TransferItemsList.ForEach(x => x.Quantity = 1);
                    IsSplit = true;
                }
                //TransferItemsList = new List<KOTProd>(TransferItemsList);
            }
            catch (Exception ex)
            {
                DependencyService.Get <IMessage>().ShortAlert(ex.Message);
            }
        }
Beispiel #2
0
        public static async Task <string> SaveKitchenDispatch(KOTProd Order)
        {
            try
            {
                String url = GenerateSaveKitchenDispatchURL();

                var    JsonObject  = JsonConvert.SerializeObject(Order);
                string ContentType = "application/json"; // or application/xml

                using (HttpClient client = new HttpClient())
                {
                    var response = await client.PostAsync(url, new StringContent(JsonObject.ToString(), Encoding.UTF8, ContentType));

                    var json = await response.Content.ReadAsStringAsync();

                    //var stringRes = JsonConvert.DeserializeObject<string>(json);

                    return(json);
                }
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }
        public string SaveKitchenDispatch(KOTProd order)
        {
            try
            {
                using (SqlConnection cnMain = new SqlConnection(ConnectionDbInfo.ConnectionString))
                {
                    var items = cnMain.Execute("update rmd_kotprod set  Kitchendispatch = 1, dispatchUser='******', dispatchtime = '" + DateTime.Now + "', Remarks = '" + order.Remarks + "' where mcode='" + order.MCODE + "' and kotid=" + order.KOTID + " and tableno='" + order.TABLENO + "' and sno=" + order.SNO + " and KOT=" + order.KOT);

                    if (items == 0)
                    {
                        return("Server error: No item dispatch");
                    }
                    else
                    {
                        items = cnMain.Execute("update rmd_kotprod set  Kitchendispatch = 1, dispatchUser='******', dispatchtime = '" + DateTime.Now + "', Remarks = '" + order.Remarks + "' where mcode='" + order.MCODE + "' and kotid=" + order.KOTID + " and tableno='" + order.TABLENO + "' and RefSNO=" + order.SNO);

                        return("success");
                    }
                }
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
        private void UpdateOrder(KOTProd item)
        {
            var index = OrderItemsList.IndexOf(item);

            OrderItemsList.Remove(item);
            OrderItemsList.Insert(index, item);
        }
        public async void ExecuteRefreshCommand()
        {
            try
            {
                SelectedOrder  = new KOTProd();
                LoadingMessage = "Please Wait! Tables Loading...";
                IsLoading      = true;
                var functionResponse = await TableDataAccess.GetTableAsync();

                if (functionResponse.status == "ok")
                {
                    var list = JsonConvert.DeserializeObject <List <TableDetail> >(functionResponse.result.ToString());
                    Helpers.Data.TableList = JsonConvert.DeserializeObject <List <TableDetail> >(functionResponse.result.ToString());
                }
                else
                {
                    Helpers.Data.TableList = new List <TableDetail>();
                    IsLoading = false;
                    DependencyService.Get <IMessage>().ShortAlert(functionResponse.Message);
                }

                LoadingMessage   = "Please Wait! Order Items  Loading...";
                IsLoading        = true;
                functionResponse = await TableDataAccess.GetAllKOTProdAsync(Helpers.Constants.User.UserName);

                if (functionResponse.status == "ok")
                {
                    IsLoading = false;
                    DependencyService.Get <IMessage>().ShortAlert("Order Items loaded successfully");
                    Helpers.Data.OrderItemsList = JsonConvert.DeserializeObject <List <KOTAppClassLibrary.Models.KOTProd> >(functionResponse.result.ToString());
                    IsTable = true;


                    SelectedTable = new TableDetail()
                    {
                        TableNo = "All"
                    };
                    PackedTableList = Helpers.Data.TableList.Where(x => x.IsPacked == true).ToList();
                    PackedTableList.Insert(0, new TableDetail()
                    {
                        TableNo = "All"
                    });
                    PackedTableList = new List <TableDetail>(PackedTableList);
                    DisplayList     = new ObservableCollection <KOTProd>(FilterOrderList());
                    OrderItemsList  = new ObservableCollection <KOTProd>(DisplayList);

                    ItemsList = new List <string>(DisplayList.Select(x => x.ItemDesc).Distinct().ToList());
                    ItemsList.Insert(0, "All");
                }
                else
                {
                    IsLoading = false;
                    DependencyService.Get <IMessage>().ShortAlert("Error loading orders:" + functionResponse.Message);
                }
            }catch (Exception ex)
            {
                IsLoading = false;
                DependencyService.Get <IMessage>().ShortAlert(ex.Message);
            }
        }
Beispiel #6
0
 public void ExecuteDecCommand(KOTProd obj)
 {
     if (obj.OrderSNO != 0)
     {
         obj.OrderSNO -= 1;
     }
 }
 public void HideOrShowButton(KOTProd item)
 {
     try
     {
         if (_oldItem == item)
         {
             //click twice on the same item will hide it
             item.IsVisible = !item.IsVisible;
             UpdateOrder(item);
         }
         else
         {
             if (_oldItem != null)
             {
                 //hide previous selected item
                 _oldItem.IsVisible = false;
                 UpdateOrder(_oldItem);
             }
             //show selected item
             item.IsVisible = true;
             UpdateOrder(item);
         }
         _oldItem      = item;
         SelectedOrder = item;
     }
     catch (Exception ex)
     {
         DependencyService.Get <IMessage>().ShortAlert(ex.Message);
     }
 }
        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);
            }
        }
Beispiel #9
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);
     }
 }
 public string SaveKitechDispatch([FromBody] KOTProd Order)
 {
     return(new TableDispatchMethods().SaveKitchenDispatch(Order));
 }
Beispiel #11
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);
            }
        }
Beispiel #12
0
 public void ExecuteIncCommand(KOTProd obj)
 {
     obj.OrderSNO += 1;
 }
Beispiel #13
0
 internal void HideOrShowOrder(KOTProd order)
 {
     order.IsVisible = true;
     //UpdateOrderRemarks(order);
 }
Beispiel #14
0
        public KOTProdTabbedPageVM()
        {
            try
            {
                IsName            = true;
                IsLoading         = false;
                IsCancel          = false;
                IsPax             = false;
                IsRemarks         = false;
                SelectedOrderItem = new KOTProd();
                if (Helpers.Data.SelectedTable.IsPacked == false)
                {
                    IsPax = true;
                }
                PAX                     = Helpers.Data.PAX;
                OrderCommand            = new Command <M.MenuItem>(ExecuteOrderCommand);
                CancelCommand           = new Command <KOTProd>(ExecuteCancelCommand);
                IncreaseOrderCommand    = new Command <M.MenuItem>(ExecuteIncreaseCommand);
                DecreaseMenuItemCommand = new Command <M.MenuItem>(ExecuteDecreaseMenuItemCommand);
                DecreaseOrderCommand    = new Command <KOTProd>(ExecuteDecreaseOrderCommand);
                KOTCommand              = new Command <string>(ExecuteKOTCommand);
                SpecialItemCommand      = new Command(ExecuteSpecialItemCommand);
                BackCommand             = new Command(ExecuteBackCommand);
                IncCommand              = new Command <KOTProd>(ExecuteIncCommand);
                DecCommand              = new Command <KOTProd>(ExecuteDecCommand);
                RemarksOkCommand        = new Command(ExecuteRemarksOkCommand);
                LoginCheckCommand       = new Command(ExecuteLoginCheckCommand);
                TappedCommand           = new Command <object>(ExecuteTappedCommand);

                SelectedTable     = new TableDetail();
                OrderItemsList    = new ObservableCollection <KOTProd>();
                SelectedItemsList = new ObservableCollection <M.MenuItem>();
                MenuItemsList     = new List <M.MenuItem>();
                MasterMenuList    = new List <M.MenuItem>();
                SubMenuList       = new List <M.MenuItem>();
                CancelingUser     = new User();

                if (Helpers.Data.SelectedTable != null)
                {
                    SelectedTable = Helpers.Data.SelectedTable;
                }
                if (Helpers.Data.OrderItemsList != null)
                {
                    var items = Helpers.Data.OrderItemsList;
                    OrderItemsList = new ObservableCollection <KOTProd>(Helpers.Data.OrderItemsList.OrderBy(x => x.SNO));
                    DecreaseItemCount();
                }
                if (Helpers.Data.MenuItemsList != null)
                {
                    MenuItemsList = Helpers.Data.MenuItemsList;
                    MenuItemsList.ForEach(x => x.QUANTITY = 0);
                    MasterMenuList = new List <M.MenuItem>(Helpers.Data.MenuItemsList.Where(x => x.TYPE == "G").ToList());

                    SubMenuList = new List <M.MenuItem>(Helpers.Data.MenuItemsList.Where(x => x.TYPE == "A").ToList());
                    SubMenuList.ForEach(x => x.QUANTITY = 0);
                    SelectedItemsList = new ObservableCollection <M.MenuItem>(Helpers.Data.MenuItemsList.Where(x => x.TYPE == "A").ToList());
                    CountOrderQuantity();
                }

                MasterMenuList.ForEach(x => x.ItemCount = 0);
                foreach (var item in SubMenuList)
                {
                    var groupItem = MasterMenuList.Find(x => x.MCODE == item.PARENT);
                    if (groupItem != null)
                    {
                        groupItem.ItemCount += 1;
                    }
                }
            }
            catch (Exception e)
            {
                DependencyService.Get <IMessage>().ShortAlert(e.Message);
            }
        }