예제 #1
0
        private async void ChangeButton_Clicked(object sender, EventArgs e)
        {
            var         item = (Button)sender;
            int         id   = int.Parse(item.CommandParameter.ToString());
            RequestLine obj  = new RequestLine();

            obj = recItems.Where(x => x.ID == id).FirstOrDefault();
            // if(obj.PickQty>0)
            Navigation.PushPopupAsync(new EditQtyPage(obj, "Load"));
        }
예제 #2
0
 public EditQtyPage(object obj, string page)
 {
     InitializeComponent();
     ParentPage = page;
     if (ParentPage == "Load")
     {
         ln = new RequestLine();
         ln = (RequestLine)obj;
     }
     else
     {
         item = new Item();
         item = (Item)obj;
     }
     QuantityEntry.Completed += QuantityEntry_Completed;
     QuantityEntry.Unfocused += QuantityEntry_Unfocused;
 }
예제 #3
0
 protected override void OnAppearing()
 {
     base.OnAppearing();
     _isEnableSaveBtn   = true;
     _isEnableDeleteBtn = true;
     _isEnableItemBtn   = true;
     data = new RequestLine();
     try
     {
         if (!IsBack)
         {
             Device.BeginInvokeOnMainThread(() => UserDialogs.Instance.ShowLoading("Loading", MaskType.Black));
             Task.Run(async() =>
             {
                 if (LineID != 0)
                 {
                     DataManager manager = new DataManager();
                     data = await manager.GetRequestItemLinebyID(LineID);
                 }
                 else
                 {
                     data = null;
                 }
             }).ContinueWith(result => Device.BeginInvokeOnMainThread(() =>
             {
                 UserDialogs.Instance.HideLoading();
                 DisplayData();
                 BarCodeEntry.Focus();
             }));
         }
     }
     catch (OperationCanceledException ex)
     {
         Acr.UserDialogs.UserDialogs.Instance.HideLoading(); //IsLoading = false;
         UserDialogs.Instance.ShowError(ex.Message.ToString(), 3000);
     }
     catch (Exception ex)
     {
         UserDialogs.Instance.HideLoading(); //IsLoading = false;
         UserDialogs.Instance.ShowError(ex.Message.ToString(), 3000);
     }
 }
        protected override void OnAppearing()
        {
            base.OnAppearing();

            data = new RequestLine();
            UserDialogs.Instance.ShowLoading("Loading", MaskType.Black);     //IsLoading = true;
            Task.Run(async() =>
            {
                try
                {
                    if (ItemId != 0)
                    {
                        DataManager manager = new DataManager();
                        data = await manager.GetRequestItemLinebyID(ItemId);
                    }
                    else
                    {
                        data = null;
                    }

                    Device.BeginInvokeOnMainThread(() =>
                    {
                        DisplayData();
                        UserDialogs.Instance.HideLoading();     //IsLoading = false;
                    });
                }
                catch (OperationCanceledException ex)
                {
                    UserDialogs.Instance.HideLoading();     //IsLoading = false;
                    //DependencyService.Get<IMessage>().LongAlert(ex.Message.ToString());
                    UserDialogs.Instance.ShowError(ex.Message.ToString(), 3000);
                }
                catch (Exception ex)
                {
                    UserDialogs.Instance.HideLoading();     //IsLoading = false;
                    //DependencyService.Get<IMessage>().LongAlert(ex.Message.ToString());
                    UserDialogs.Instance.ShowError(ex.Message.ToString(), 3000);
                }
            });
        }
예제 #5
0
        public UnloadBagScanPage(string itemno)
        {
            InitializeComponent();
            ItemNo = itemno;
            if (!string.IsNullOrEmpty(ItemNo))
            {
                this.Title = "Scan Bag Label";
            }
            else
            {
                this.Title = "Add Item";
            }
            ScanRequest              = new RequestLine();
            item                     = new UnloadReturn();
            BagLabelEntry.Focused   += BagLabelEntry_Focused;
            BagLabelEntry.Completed += BagLabelEntry_Completed;
            BagLabelEntry.Unfocused += BagLabelEntry_Unfocused;

            QuantityEntry.Completed += QuantityEntry_Completed;
            QuantityEntry.Unfocused += QuantityEntry_Unfocused;
            ConfirmButton.Clicked   += ConfirmButton_Clicked;
            ClearButton.Clicked     += ClearButton_Clicked;
        }
        public BagLabelScanPage(string scanf, string hdkey)
        {
            InitializeComponent();
            this.Title  = "Scan Bag Label";
            HeadEntryNo = hdkey;
            Scanfrom    = scanf;
            ScanRequest = new RequestLine();
            // ScannedItemButton.Clicked += ScannedItemButton_Clicked; ;
            if (scanf == "loaded")
            {
                this.ToolbarItems.Add(new ToolbarItem {
                    Text = "Loaded", Command = new Command(this.GotoScannedItemList)
                });
            }

            BagLabelEntry.Focused   += BagLabelEntry_Focused;
            BagLabelEntry.Completed += BagLabelEntry_Completed;
            BagLabelEntry.Unfocused += BagLabelEntry_Unfocused;

            QuantityEntry.Completed += QuantityEntry_Completed;
            QuantityEntry.Unfocused += QuantityEntry_Unfocused;
            ConfirmButton.Clicked   += ConfirmButton_Clicked;
            ClearButton.Clicked     += ClearButton_Clicked;
        }
        private async void SaveButton_Clicked(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(LoadQtyEntry.Text))
                {
                    //DependencyService.Get<IMessage>().LongAlert("Not allow blank quantity!");
                    UserDialogs.Instance.ShowError("Not allow blank quantity!", 3000);
                    LoadQtyEntry.Focus();
                    return;
                }

                if (decimal.Parse(LoadQtyEntry.Text) == 0)
                {
                    //DependencyService.Get<IMessage>().LongAlert("Not allow 0 quantity!");
                    UserDialogs.Instance.ShowError("Not allow 0 quantity!", 3000);
                    LoadQtyEntry.Focus();
                    return;
                }

                DataManager manager = new DataManager();
                RequestLine line    = new RequestLine()
                {
                    ID            = data.ID,
                    EntryNo       = data.EntryNo,
                    HeaderEntryNo = data.HeaderEntryNo,
                    ItemNo        = data.ItemNo,
                    ItemDesc      = data.ItemDesc,
                    QtyperBag     = data.QtyperBag,
                    NoofBags      = data.NoofBags,
                    Quantity      = data.Quantity,
                    PickQty       = data.PickQty,
                    LoadQty       = decimal.Parse(LoadQtyEntry.Text),
                    SoldQty       = data.SoldQty,
                    UnloadQty     = data.UnloadQty,
                    UomCode       = data.UomCode,
                    VendorNo      = data.VendorNo,
                    RequestNo     = data.RequestNo,
                    UserID        = data.UserID,
                    InHouse       = data.InHouse,
                    IsSync        = data.IsSync,
                    SyncDateTime  = data.SyncDateTime
                };

                string retval = await manager.SaveSQLite_RequestLine(line);

                if (retval == "Success")
                {
                    UserDialogs.Instance.ShowSuccess(retval, 3000);
                    Navigation.PopAsync();
                }
                else
                {
                    //DependencyService.Get<IMessage>().LongAlert(retval);
                    UserDialogs.Instance.ShowError(retval, 3000);
                }
            }
            catch (Exception ex)
            {
                UserDialogs.Instance.ShowError(ex.Message.ToString(), 3000);
            }
        }
        private async void  ConfirmButton_Clicked(object sender, EventArgs e)
        {
            try
            {
                if (CanScanText != "Success")
                {
                    UserDialogs.Instance.ShowError(CanScanText, 3000);
                    return;
                }

                decimal actualLoadQty   = 0;
                decimal actualUnloadQty = 0;
                if (string.IsNullOrEmpty(QuantityEntry.Text))
                {
                    UserDialogs.Instance.ShowError("Not allow blank quantity", 3000);
                    return;
                }
                else
                {
                    decimal enterQty = decimal.Parse(QuantityEntry.Text);
                    if (Scanfrom == "loaded")
                    {
                        NewLoadedQty = ScanRequest.LoadQty + enterQty;
                    }
                    else
                    {
                        NewUnloadedQty = ScanRequest.UnloadQty + enterQty;
                    }
                    DataManager manager = new DataManager();
                    RequestLine line    = new RequestLine()
                    {
                        ID            = ScanRequest.ID,
                        EntryNo       = ScanRequest.EntryNo,
                        HeaderEntryNo = ScanRequest.HeaderEntryNo,
                        ItemNo        = ScanRequest.ItemNo,
                        ItemDesc      = ScanRequest.ItemDesc,
                        QtyperBag     = ScanRequest.QtyperBag,
                        NoofBags      = ScanRequest.NoofBags,
                        Quantity      = ScanRequest.Quantity,
                        PickQty       = ScanRequest.PickQty,
                        LoadQty       = NewLoadedQty,
                        SoldQty       = ScanRequest.SoldQty,
                        UnloadQty     = NewUnloadedQty,
                        UomCode       = ScanRequest.UomCode,
                        VendorNo      = ScanRequest.VendorNo,
                        RequestNo     = ScanRequest.RequestNo,
                        UserID        = App.gSalesPersonCode,
                        InHouse       = ScanRequest.InHouse,
                        IsSync        = ScanRequest.IsSync,
                        SyncDateTime  = string.Empty
                    };

                    string retval = await manager.SaveSQLite_RequestLine(line);

                    if (retval == "Success")
                    {
                        if (Scanfrom == "loaded")
                        {
                            await manager.SaveSQLite_ScannedLoadDoc(BagInfo.BoxNo, BagInfo.RefDocNo, BagInfo.MobileEntryNo, enterQty, BagInfo.ItemNo);

                            actualLoadQty   = enterQty;
                            actualUnloadQty = BagInfo.UnloadQty;
                        }
                        else
                        {
                            await manager.SaveSQLite_ScannedUnloadDoc(BagInfo.BoxNo, BagInfo.RefDocNo, BagInfo.MobileEntryNo, BagInfo.Quantity);

                            actualLoadQty   = BagInfo.LoadQty;
                            actualUnloadQty = enterQty;
                        }

                        HeadEntryNo = BagInfo.RefDocNo;

                        tmpInfo = new ContainerInfo
                        {
                            ID            = BagInfo.ID,
                            EntryNo       = BagInfo.EntryNo,
                            PalletNo      = BagInfo.PalletNo,
                            CartonNo      = BagInfo.CartonNo,
                            BoxNo         = BagInfo.BoxNo,
                            LineNo        = BagInfo.LineNo,
                            ItemNo        = BagInfo.ItemNo,
                            VariantCode   = BagInfo.VariantCode,
                            Quantity      = BagInfo.Quantity,
                            LoadQty       = actualLoadQty,
                            SoldQty       = BagInfo.SoldQty,
                            UnloadQty     = actualUnloadQty,
                            LocationCode  = BagInfo.LocationCode,
                            BinCode       = BagInfo.BinCode,
                            RefDocNo      = BagInfo.RefDocNo,
                            RefDocLineNo  = BagInfo.RefDocLineNo,
                            RefDocType    = BagInfo.RefDocType,
                            MobileEntryNo = BagInfo.MobileEntryNo
                        };

                        retval = await manager.UpdateSQLite_ContainerInfo(tmpInfo);

                        if (Scanfrom != "loaded")
                        {
                            decimal loadedqty = await manager.GetSQLite_SumLoadedItems(tmpInfo.ItemNo);

                            manager.UpdateSQLite_Inventory(tmpInfo.ItemNo, loadedqty, 0, 0, 0, enterQty);
                        }

                        //
                        ObservableCollection <ContainerInfo> lstInfo = new ObservableCollection <ContainerInfo>();
                        lstInfo = await manager.GetSQLite_ContainerInfobyRequestLineNo(BagInfo.MobileEntryNo);

                        if (retval == "Success")
                        {
                            UserDialogs.Instance.ShowSuccess("Scan success!", 3000);
                            BagLabelEntry.Text = string.Empty;
                            ItemNoEntry.Text   = string.Empty;
                            QuantityEntry.Text = string.Empty;
                        }
                        else
                        {
                            UserDialogs.Instance.ShowError(retval, 3000);
                        }
                    }
                    else
                    {
                        UserDialogs.Instance.ShowError(retval, 3000);
                    }
                }
            }
            catch (Exception ex)
            {
                UserDialogs.Instance.ShowError(ex.Message.ToString(), 3000);
            }
        }
예제 #9
0
        private async void SaveButton_Clicked(object sender, EventArgs e)
        {
            if (_isEnableSaveBtn)
            {
                _isEnableSaveBtn = false;
                try
                {
                    if (string.IsNullOrEmpty(_ItemNo))
                    {
                        //DependencyService.Get<IMessage>().LongAlert("Not allow blank Item!");
                        UserDialogs.Instance.ShowError("Not allow blank Item!", 3000);
                        BarCodeEntry.Focus();
                        return;
                    }

                    if (!isItemExisted)
                    {
                        UserDialogs.Instance.ShowError("Wrong Item No or Item does not existed!", 3000);
                        BarCodeEntry.Focus();
                        return;
                    }

                    if (string.IsNullOrEmpty(QtyEntry.Text))
                    {
                        //DependencyService.Get<IMessage>().LongAlert("Not allow blank quantity!");
                        UserDialogs.Instance.ShowError("Not allow blank quantity!", 3000);
                        QtyEntry.Focus();
                        return;
                    }

                    if (decimal.Parse(QtyEntry.Text) == 0)
                    {
                        //DependencyService.Get<IMessage>().LongAlert("Not allow 0 quantity!");
                        UserDialogs.Instance.ShowError("Not allow 0 quantity!", 3000);
                        QtyEntry.Focus();
                        return;
                    }

                    //if (string.IsNullOrEmpty(NoofBagsEntry.Text))
                    //{
                    //    //DependencyService.Get<IMessage>().LongAlert("Not allow blank quantity!");
                    //    UserDialogs.Instance.ShowError("Not allow blank unit price!", 3000);
                    //    NoofBagsEntry.Focus();
                    //    return;
                    //}

                    //if (decimal.Parse(NoofBagsEntry.Text) == 0)
                    //{
                    //    //DependencyService.Get<IMessage>().LongAlert("Not allow 0 quantity!");
                    //    UserDialogs.Instance.ShowError("Not allow unit price is 0!", 3000);
                    //    NoofBagsEntry.Focus();
                    //    return;
                    //}

                    // if (!string.IsNullOrEmpty(VendorEntry.Text)) InHouse = false;
                    DataManager manager = new DataManager();
                    RequestLine line    = new RequestLine()
                    {
                        ID            = LineID,
                        EntryNo       = EntryNo,
                        HeaderEntryNo = HeaderNo,
                        ItemNo        = _ItemNo,
                        ItemDesc      = DescEntry.Text,
                        QtyperBag     = 0,
                        // NoofBags= decimal.Parse(NoofBagsEntry.Text),
                        Quantity     = decimal.Parse(QtyEntry.Text),
                        PickQty      = decimal.Parse(QtyEntry.Text),
                        LoadQty      = 0,
                        UomCode      = UomEntry.Text,
                        VendorNo     = string.Empty,//VendorEntry.Text,
                        RequestNo    = _RequestNo,
                        UserID       = App.gSalesPersonCode,
                        InHouse      = InHouse,
                        IsSync       = "request",
                        SyncDateTime = string.Empty
                    };
                    string retval = await manager.SaveSQLite_RequestLine(line);

                    if (retval == "Success")
                    {
                        UserDialogs.Instance.ShowSuccess(retval, 3000);
                        Navigation.PopAsync();
                    }
                    else
                    {
                        //DependencyService.Get<IMessage>().LongAlert(retval);
                        UserDialogs.Instance.ShowError(retval, 3000);
                        _isEnableSaveBtn = true;
                    }
                }
                catch (Exception ex)
                {
                    UserDialogs.Instance.ShowError(ex.Message.ToString(), 3000);
                    _isEnableSaveBtn = true;
                }
            }
        }
예제 #10
0
        private async void SaveButton_Clicked(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(LoadQtyEntry.Text))
                {
                    //DependencyService.Get<IMessage>().LongAlert("Not allow blank quantity!");
                    UserDialogs.Instance.ShowError("Not allow blank quantity!", 3000);
                    LoadQtyEntry.Focus();
                    return;
                }

                if (decimal.Parse(LoadQtyEntry.Text) == 0)
                {
                    //DependencyService.Get<IMessage>().LongAlert("Not allow 0 quantity!");
                    UserDialogs.Instance.ShowError("Not allow 0 quantity!", 3000);
                    LoadQtyEntry.Focus();
                    return;
                }

                DataManager manager = new DataManager();
                RequestLine line    = new RequestLine()
                {
                    ID            = ItemId,
                    EntryNo       = EntryNo,
                    HeaderEntryNo = HeaderNo,
                    ItemNo        = ItemNoLabel.Text,
                    ItemDesc      = DescLabel.Text,
                    QtyperBag     = decimal.Parse(QtyperBagLabel.Text),
                    NoofBags      = decimal.Parse(NoofBagsLabel.Text),
                    Quantity      = decimal.Parse(ReqQtyLabel.Text),
                    PickQty       = decimal.Parse(PickQtyLabel.Text),
                    LoadQty       = decimal.Parse(LoadQtyEntry.Text),
                    SoldQty       = 0,
                    UnloadQty     = 0,
                    UomCode       = UomCode,
                    VendorNo      = VendorNo,
                    RequestNo     = _RequestNo,
                    UserID        = App.gSalesPersonCode,
                    InHouse       = InHouse,
                    IsSync        = "false",
                    SyncDateTime  = string.Empty
                };

                string retval = await manager.SaveSQLite_RequestLine(line);

                if (retval == "Success")
                {
                    UserDialogs.Instance.ShowSuccess(retval, 3000);
                    Navigation.PopAsync();
                }
                else
                {
                    //DependencyService.Get<IMessage>().LongAlert(retval);
                    UserDialogs.Instance.ShowError(retval, 3000);
                }
            }
            catch (Exception ex)
            {
                UserDialogs.Instance.ShowError(ex.Message.ToString(), 3000);
            }
        }
        async void SendRequest()
        {
            try
            {
                if (recItems != null)
                {
                    if (recItems.Count == 0)
                    {
                        UserDialogs.Instance.ShowError("No items for send request", 3000);
                        return;
                    }

                    UserDialogs.Instance.ShowLoading("Loading", MaskType.Black);
                    string        alertmsg = string.Empty;
                    DataManager   manager  = new DataManager();
                    RequestHeader objhead  = new RequestHeader();
                    objhead = await manager.GetSQLite_RequestHeadebyKey(HeaderNo);

                    if (objhead != null)
                    {
                        string retmsg = "Success";
                        //string retmsg = App.svcManager.ExportRequestStock(objhead.EntryNo, App.gSalesPersonCode, objhead.RequestNo, objhead.RequestDate, "topick");
                        if (retmsg == "Success")
                        {
                            manager = new DataManager();
                            string retval = await manager.SaveSQLite_RequestHeader(new RequestHeader
                            {
                                ID              = objhead.ID,
                                EntryNo         = objhead.EntryNo,
                                SalesPersonCode = objhead.SalesPersonCode,
                                RequestNo       = objhead.RequestNo,
                                RequestDate     = objhead.RequestDate,
                                IsSync          = "true",
                                SyncDateTime    = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss tt"),
                                CurStatus       = "picking"
                            });
                        }
                        else
                        {
                            alertmsg = "Can not able to sync doc No " + objhead.RequestNo + ". Err message: " + retmsg;
                            UserDialogs.Instance.ShowError(alertmsg, 3000);
                        }

                        ObservableCollection <RequestLine> lstline = new ObservableCollection <RequestLine>();
                        lstline = await manager.GetRequestLinesbyDocNo(objhead.EntryNo);

                        if (lstline != null && lstline.Count > 0)
                        {
                            foreach (RequestLine l in lstline)
                            {
                                //retmsg = App.svcManager.ExportRequestLine(l.EntryNo, l.HeaderEntryNo, l.UserID, l.ItemNo, l.QtyperBag, l.NoofBags, l.Quantity, l.PickQty, l.LoadQty,l.UnloadQty,l.UomCode, l.VendorNo, l.InHouse, objhead.RequestNo);
                                if (retmsg == "Success")
                                {
                                    manager = new DataManager();
                                    RequestLine line = new RequestLine()
                                    {
                                        ID            = l.ID,
                                        EntryNo       = l.EntryNo,
                                        HeaderEntryNo = l.HeaderEntryNo,
                                        UserID        = l.UserID,
                                        ItemNo        = l.ItemNo,
                                        ItemDesc      = l.ItemDesc,
                                        QtyperBag     = l.QtyperBag,
                                        NoofBags      = l.NoofBags,
                                        Quantity      = l.Quantity,
                                        PickQty       = l.Quantity, //l.PickQty,
                                        LoadQty       = l.LoadQty,
                                        UomCode       = l.UomCode,
                                        VendorNo      = l.VendorNo,
                                        InHouse       = l.InHouse,
                                        RequestNo     = l.RequestNo,
                                        IsSync        = "picking",
                                        SyncDateTime  = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss tt")
                                    };
                                    await manager.SaveSQLite_RequestLine(line);
                                }
                                else
                                {
                                    alertmsg = "Can not able to sync doc no " + objhead.RequestNo + " -> Item No" + l.ItemNo + ". Err message: " + retmsg;
                                    UserDialogs.Instance.ShowError(alertmsg, 3000);
                                    return;
                                }
                            }
                            // await Task.Delay(10000);
                            retmsg = "Success";// App.svcManager.ImportDataToNAV("SalesRequest", "picking");
                            if (retmsg == "Success")
                            {
                                //DependencyService.Get<INetworkConnection>().CheckNetworkConnection();
                                //if (DependencyService.Get<INetworkConnection>().IsConnected)
                                //{
                                //    string result = DependencyService.Get<INetworkConnection>().IsServiceOnline(Helpers.Settings.GeneralSettings);
                                //    if (result != "true")
                                //    {
                                //        //DependencyService.Get<IMessage>().LongAlert("Error : Service is offline. [" + result + "]");
                                //        UserDialogs.Instance.ShowError("Error : Service is offline. [" + result + "]", 3000);
                                //        return;
                                //    }
                                //}
                                //else
                                //{
                                //    UserDialogs.Instance.ShowError("Error : No internet connection", 3000);
                                //    return;
                                //}
                                // SyncNumberSeries();
                                UserDialogs.Instance.HideLoading();
                                alertmsg = "Request Stock sync success!";
                                UserDialogs.Instance.ShowSuccess(alertmsg, 3000);
                                Navigation.PopAsync();
                            }
                            else
                            {
                                UserDialogs.Instance.HideLoading();
                                UserDialogs.Instance.ShowError(retmsg, 3000);
                                return;
                            }
                        }
                        else
                        {
                            UserDialogs.Instance.HideLoading();
                            retmsg = "No line records";
                        }
                        // Sync Num series
                        //SyncNumberSeries();
                    }
                }
                else
                {
                    UserDialogs.Instance.HideLoading();
                    UserDialogs.Instance.ShowError("No items for send request", 3000);
                }
            }
            catch (Exception ex)
            {
                UserDialogs.Instance.HideLoading();
                UserDialogs.Instance.ShowError(ex.Message.ToString(), 3000);
            }
        }
예제 #12
0
        void ConfirmLoad()
        {
            try
            {
                string             retmsg    = string.Empty;
                DataManager        manager   = new DataManager();
                RequestHeader      recHeader = new RequestHeader();
                List <RequestLine> reclines  = new List <RequestLine>();

                Device.BeginInvokeOnMainThread(() => UserDialogs.Instance.ShowLoading("Loading", MaskType.Black));
                Task.Run(async() =>
                {
                    recHeader = await manager.GetSQLite_RequestHeadebyRequestNo(HDRequestNo);
                    if (recHeader != null)
                    {
                        reclines.Clear();
                        reclines = recItems.Where(x => x.HeaderEntryNo == recHeader.EntryNo).ToList();

                        if (reclines != null)
                        {
                            if (reclines.Count > 0)
                            {
                                string retStatus = retmsg;
                                foreach (RequestLine ln in reclines)
                                {
                                    // Step 3 -> Update loaded items quantity Inventory
                                    //Get current load Qty for loop item
                                    decimal ivnLoadQty = await manager.GetSQLite_ItemLoadedQty(ln.ItemNo);
                                    ivnLoadQty         = ivnLoadQty + ln.PickQty;
                                    retmsg             = await manager.UpdateSQLite_LoadInventory(ln.ItemNo, ivnLoadQty);

                                    RequestLine line = new RequestLine()
                                    {
                                        ID            = ln.ID,
                                        EntryNo       = ln.EntryNo,
                                        HeaderEntryNo = ln.HeaderEntryNo,
                                        ItemNo        = ln.ItemNo,
                                        ItemDesc      = ln.ItemDesc,
                                        QtyperBag     = ln.QtyperBag,
                                        NoofBags      = ln.NoofBags,
                                        Quantity      = ln.Quantity,
                                        PickQty       = ln.PickQty,
                                        LoadQty       = ln.PickQty,
                                        SoldQty       = ln.SoldQty,
                                        UnloadQty     = ln.UnloadQty,
                                        UomCode       = ln.UomCode,
                                        VendorNo      = ln.VendorNo,
                                        RequestNo     = ln.RequestNo,
                                        UserID        = ln.UserID,
                                        InHouse       = ln.InHouse,
                                        IsSync        = "loaded",
                                        SyncDateTime  = string.Empty
                                    };
                                    // Step 2 -> Update Request Line to mobile database
                                    string retval = await manager.SaveSQLite_RequestLine(line);



                                    VanItem ckitm = new VanItem();
                                    ckitm         = await manager.GetSQLite_VanItembyItemNo(ln.ItemNo);
                                    if (ckitm != null)
                                    {
                                        decimal vanqty = ckitm.LoadQty + ln.PickQty;
                                        retmsg         = await manager.UpdateSQLite_VanItem(ln.ItemNo, vanqty);
                                    }
                                    else
                                    {
                                        Item itm = new Item();
                                        itm      = manager.GetSQLite_ItembyItemNo(ln.ItemNo);

                                        VanItem vitm = new VanItem()
                                        {
                                            ID          = 0,
                                            ItemNo      = itm.ItemNo,
                                            Description = itm.Description,
                                            BarCode     = itm.BarCode,
                                            BaseUOM     = ln.UomCode,
                                            UnitPrice   = itm.UnitPrice,
                                            Str64Img    = itm.Str64Img,
                                            LoadQty     = ln.PickQty,
                                            SoldQty     = 0,
                                            ReturnQty   = 0,
                                            BadQty      = 0,
                                            UnloadQty   = 0,
                                            Balance     = 0
                                        };
                                        retmsg = await manager.SaveSQLite_VanItem(vitm);
                                    }
                                }

                                manager        = new DataManager();
                                string rethead = await manager.SaveSQLite_RequestHeader(new RequestHeader
                                {
                                    ID              = recHeader.ID,
                                    EntryNo         = recHeader.EntryNo,
                                    SalesPersonCode = recHeader.SalesPersonCode,
                                    RequestNo       = recHeader.RequestNo,
                                    RequestDate     = recHeader.RequestDate,
                                    IsSync          = recHeader.IsSync,
                                    SyncDateTime    = recHeader.SyncDateTime,
                                    CurStatus       = "loaded"
                                });
                                retmsg = "Success";
                            }
                        }
                        else
                        {
                            retmsg = "No requested lines to load!";
                        }
                    }
                    else
                    {
                        retmsg = "No data to load!";
                    }
                }).ContinueWith(result => Device.BeginInvokeOnMainThread(() =>
                {
                    UserDialogs.Instance.HideLoading();
                    if (!string.IsNullOrEmpty(retmsg))
                    {
                        if (retmsg == "Success")
                        {
                            UserDialogs.Instance.ShowSuccess(retmsg, 3000);
                            Navigation.PushAsync(new MainPage(9));
                        }
                        else
                        {
                            UserDialogs.Instance.ShowError(retmsg, 3000);
                        }
                    }
                }));
            }
            catch (OperationCanceledException ex)
            {
                Acr.UserDialogs.UserDialogs.Instance.HideLoading(); //IsLoading = false;
                UserDialogs.Instance.ShowError(ex.Message.ToString(), 3000);
            }
            catch (Exception ex)
            {
                UserDialogs.Instance.HideLoading(); //IsLoading = false;
                UserDialogs.Instance.ShowError(ex.Message.ToString(), 3000);
            }
        }
예제 #13
0
        private async void UpdateButtonOnClicked(object sender, EventArgs e)
        {
            try
            {
                string      retval  = string.Empty;
                DataManager manager = new DataManager();
                if (ParentPage == "Load")
                {
                    OnLoadValidated();
                    RequestLine line = new RequestLine()
                    {
                        ID            = ln.ID,
                        EntryNo       = ln.EntryNo,
                        HeaderEntryNo = ln.HeaderEntryNo,
                        ItemNo        = ln.ItemNo,
                        ItemDesc      = ln.ItemDesc,
                        QtyperBag     = ln.QtyperBag,
                        NoofBags      = ln.NoofBags,
                        Quantity      = ln.Quantity,
                        PickQty       = decimal.Parse(QuantityEntry.Text),
                        LoadQty       = ln.LoadQty,
                        SoldQty       = ln.SoldQty,
                        UnloadQty     = ln.UnloadQty,
                        UomCode       = ln.UomCode,
                        VendorNo      = ln.VendorNo,
                        RequestNo     = ln.RequestNo,
                        UserID        = ln.UserID,
                        InHouse       = ln.InHouse,
                        IsSync        = ln.IsSync,
                        SyncDateTime  = ln.SyncDateTime
                    };
                    retval = await manager.SaveSQLite_RequestLine(line);

                    if (retval == "Success")
                    {
                        MessagingCenter.Send <App>((App)Application.Current, "OnLoadData");
                        await PopupNavigation.PopAsync();
                    }
                }
                else
                {
                    OnUnloadValidated();
                    var record = new Item
                    {
                        ID           = item.ID,
                        EntryNo      = item.EntryNo,
                        ItemNo       = item.ItemNo,
                        Description  = item.Description,
                        Description2 = item.Description2,
                        BaseUOM      = item.BaseUOM,
                        Str64Img     = item.Str64Img,
                        UnitPrice    = item.UnitPrice,
                        CategoryCode = item.CategoryCode,
                        BarCode      = item.BarCode,
                        InvQty       = item.InvQty,
                        LoadQty      = item.LoadQty,
                        SoldQty      = item.SoldQty,
                        ReturnQty    = item.ReturnQty,
                        BadQty       = item.BadQty,
                        UnloadQty    = decimal.Parse(QuantityEntry.Text)
                    };
                    retval = await manager.SaveSQLite_ItemInfo(record);

                    if (retval == "Success")
                    {
                        int         id  = 0;
                        ChangedItem itm = new ChangedItem();
                        itm = manager.GetSQLite_ChangedItembyItemNo(item.ItemNo);
                        if (itm != null)
                        {
                            id = itm.ID;
                        }
                        var cObj = new ChangedItem
                        {
                            ID       = id,
                            ItemNo   = item.ItemNo,
                            Quantity = decimal.Parse(QuantityEntry.Text)
                        };
                        retval = await manager.SaveSQLite_ChangedItem(cObj);

                        MessagingCenter.Send <App>((App)Application.Current, "OnUnLoadData");
                        await PopupNavigation.PopAsync();
                    }
                }
            }
            catch (Exception ex)
            {
                UserDialogs.Instance.ShowError(ex.Message.ToString(), 3000);
            }
        }