Esempio n. 1
0
        public override void Search()
        {
            TransactionHeaderList.Clear();
            GetMaindata();
            if (SearchWindow == null)
            {
                SearchWindow = new GenericSearchWindow(GetSearchModel());
            }
            GenericSearchViewModel <TblSalesOrderRequestInvoiceHeaderModel> vm =
                new GenericSearchViewModel <TblSalesOrderRequestInvoiceHeaderModel>()
            {
                Title = "Sales Request Invoice Search"
            };

            vm.FilteredItemsList = TransactionHeaderList;
            vm.ItemsList         = TransactionHeaderList;
            vm.ResultItemsList.CollectionChanged += (s, e) =>
            {
                if (e.Action == NotifyCollectionChangedAction.Add)
                {
                    TransactionHeader = vm.ResultItemsList[e.NewStartingIndex];
                }
                GetDetailData();
                // RaisePropertyChanged(nameof(IsReadOnly));
            };
            vm.GetDataCommand = new SilverlightCommands.RelayCommand((o) =>
            {
                Filter        = vm.Filter;
                ValuesObjects = vm.ValuesObjects;
                GetMaindata();
            },
                                                                     (o) =>
            {
                return(true);//هنا الصلاحيات
            });
            SearchWindow.DataContext = vm;
            base.Search();
        }
Esempio n. 2
0
        public SalesOrderRequestInvoiceViewModel() : base(PermissionItemName.SalesOrderRequestInvoice)
        {
            //         WarehouseClient.PostSalesOrderRequestInvoiceCompleted += (s, sv) =>
            //{
            //	if (sv.Result != null) TransactionHeader.InjectFrom(sv.Result);
            //	TransactionHeader.VisPosted = false;
            //	MessageBox.Show("Posted Completed");
            //};


            GetItemPermissions(PermissionItemName.SalesOrderRequestInvoice.ToString());
            var journalAccountTypeClient = new GlService.GlServiceClient();

            journalAccountTypeClient.GetGenericCompleted += (s, sv) =>
            {
                JournalAccountTypeList = sv.Result;
            };
            journalAccountTypeClient.GetGenericAsync("TblJournalAccountType", "%%", "%%", "%%", "Iserial", "ASC", LoggedUserInfo.DatabasEname);

            MiscValueTypeList = new ObservableCollection <CRUDManagerService.GenericTable>
            {
                new CRUDManagerService.GenericTable {
                    Iserial = 0, Code = "%", Ename = "%", Aname = "%"
                },
                new CRUDManagerService.GenericTable {
                    Iserial = 1, Code = "Value", Ename = "Value", Aname = "Value"
                }
            };

            var currencyClient = new GlService.GlServiceClient();

            currencyClient.GetGenericCompleted += (s, sv) =>
            {
                CurrencyList = new ObservableCollection <CRUDManagerService.GenericTable>();
                foreach (var item in sv.Result)
                {
                    CurrencyList.Add(new CRUDManagerService.GenericTable().InjectFrom(item) as CRUDManagerService.GenericTable);
                }
            };
            currencyClient.GetGenericAsync("TblCurrency", "%%", "%%", "%%", "Iserial", "ASC", LoggedUserInfo.DatabasEname);

            PurchasePlanClient.GetTblMarkupProdAsync(0, int.MaxValue, "it.Iserial", null, null, LoggedUserInfo.DatabasEname);

            PurchasePlanClient.GetTblMarkupProdCompleted += (s, sv) =>
            {
                MarkupList = new ObservableCollection <CRUDManagerService.TblMarkupProd>();
                foreach (var item in sv.Result)
                {
                    MarkupList.Add(new CRUDManagerService.TblMarkupProd().InjectFrom(item) as CRUDManagerService.TblMarkupProd);
                }
            };


            TransactionHeader = new TblSalesOrderRequestInvoiceHeaderModel {
                DocDate = DateTime.Now
            };



            WarehouseClient.UpdateOrInsertTblSalesOrderRequestInvoiceHeaderCompleted += (s, sv) =>
            {
                if (sv.Error != null)
                {
                    MessageBox.Show(sv.Error.Message);
                }
                try
                {
                    TransactionHeader.InjectFrom(sv.Result);

                    if (TransactionHeader.Status == 0)
                    {
                        TransactionHeader.VisPosted = true;
                    }
                    else
                    {
                        TransactionHeader.VisPosted = false;
                    }
                }
                // ReSharper disable once EmptyGeneralCatchClause
                catch (Exception)
                {
                }
                Loading = false;
                Loading = false;
                MessageBox.Show("Saved");
            };

            WarehouseClient.UpdateOrInsertTblSalesOrderRequestInvoiceMarkupTransProdsCompleted += (s, x) =>
            {
                var markup = new CRUDManagerService.TblMarkupProd();
                try
                {
                    var row = TransactionHeader.MarkUpTransList.ElementAt(x.outindex);
                    if (row != null)
                    {
                        markup = row.TblMarkupProd1;
                    }
                    TransactionHeader.MarkUpTransList.ElementAt(x.outindex).InjectFrom(x.Result);

                    if (row != null)
                    {
                        row.TblMarkupProd1 = markup;
                    }
                }
                // ReSharper disable once EmptyGeneralCatchClause
                catch (Exception)
                {
                }

                Loading = false;
            };
            WarehouseClient.GetTblSalesOrderRequestInvoiceHeaderCompleted += (s, sv) =>
            {
                Loading = false;
                TransactionHeaderList.Clear();
                foreach (var variable in sv.Result.ToList())
                {
                    var newrow = new TblSalesOrderRequestInvoiceHeaderModel();
                    newrow.InjectFrom(variable);
                    if (newrow.Status == 0)
                    {
                        newrow.VisPosted = true;
                    }
                    newrow.JournalAccountTypePerRow = new GlService.GenericTable();
                    newrow.JournalAccountTypePerRow = JournalAccountTypeList.FirstOrDefault(w => w.Iserial == newrow.TblJournalAccountType);
                    newrow.EntityPerRow             = new GlService.Entity().InjectFrom(sv.entityList.FirstOrDefault(w => w.Iserial == variable.EntityAccount && w.TblJournalAccountType == variable.TblJournalAccountType)) as GlService.Entity;
                    newrow.CurrencyPerRow           = new GlService.GenericTable().InjectFrom(CurrencyList.FirstOrDefault(w => w.Iserial == newrow.TblCurrency)) as GlService.GenericTable;
                    TransactionHeaderList.Add(newrow);
                }
            };
            WarehouseClient.GetTblSalesIssueHeaderCompleted += (s, sv) =>
            {
                if (sv.Result != null)
                {
                    foreach (var row in sv.Result)
                    {
                        if (!RecieveHeaderList.Select(x => x.DocCode).Contains(row.DocCode))
                        {
                            RecieveHeaderList.Add(new TblSalesIssueHeaderModel().InjectFrom(row) as TblSalesIssueHeaderModel);
                        }
                    }
                }
            };
            WarehouseClient.GetSalesIssueHeaderPendingCompleted += (s, sv) =>
            {
                if (sv.Result != null)
                {
                    foreach (var row in sv.Result)
                    {
                        if (!RecieveHeaderChoosedList.Select(x => x.DocCode).Contains(row.DocCode))
                        {
                            RecieveHeaderChoosedList.Add(
                                new TblSalesIssueHeaderModel().InjectFrom(row) as TblSalesIssueHeaderModel);
                        }
                    }
                }
            };

            WarehouseClient.GetTblSalesOrderRequestInvoiceDetailCompleted += (s, sv) =>
            {
                foreach (var variable in sv.Result.ToList())
                {
                    var newrow = new TblSalesOrderRequestInvoiceDetailModel();
                    newrow.InjectFrom(variable);
                    newrow.ItemPerRow = new CRUDManagerService.ItemsDto().InjectFrom(sv.itemsList.FirstOrDefault(w => w.ItemGroup == variable.TblItemDim1.ItemType && w.Iserial == variable.TblItemDim1.ItemIserial)) as CRUDManagerService.ItemsDto;
                    TransactionDetails.Add(newrow);
                }
            };
            WarehouseClient.SearchSalesOrderRequestInvoiceCompleted += (s, sv) =>
            {
                if (sv.Result != null)
                {
                    TransactionHeader.InjectFrom(sv.Result);
                }
                TransactionHeader.VisPosted = true;
                GetDetailData();
            };
            WarehouseClient.PostTblSalesOrderRequestInvoiceHeaderCompleted += (s, sv) =>
            {
                if (sv.Result != null)
                {
                    TransactionHeader.InjectFrom(sv.Result);
                }
                //   TransactionHeader.VisPosted = true;
                // GetDetailData();
            };
        }