Example #1
0
        public ClosingAdvanceVendorPaymentViewModel()
        {
            if (!IsDesignTime)
            {
                PostDate = DateTime.Now;
                TblJournalAccountTypePerRow = new GenericTable()
                {
                    Iserial = 2
                };
                Glclient    = new GlServiceClient();
                MainRowList = new ObservableCollection <TblGlChequeTransactionDetailViewModel>();
                Glclient.GetTblChequeTransactionDetailNotLinkedCompleted += (s, sv) =>
                {
                    foreach (var row in sv.Result)
                    {
                        var newrow = new TblGlChequeTransactionDetailViewModel();
                        newrow.InjectFrom(row);
                        newrow.ChequePerRow = new TblBankCheque();

                        if (row.TblBankCheque1 != null)
                        {
                            newrow.ChequePerRow.InjectFrom(row.TblBankCheque1);
                        }
                        newrow.TblJournalAccountTypePerRow = new GenericTable();
                        if (row.TblJournalAccountType != null)
                        {
                            newrow.TblJournalAccountTypePerRow.InjectFrom(row.TblJournalAccountType);
                        }
                        newrow.TblJournalAccountType1PerRow = new GenericTable();
                        if (row.TblJournalAccountType1 != null)
                        {
                            newrow.TblJournalAccountType1PerRow.InjectFrom(row.TblJournalAccountType1);
                        }

                        newrow.EntityDetail1TblJournalAccountType = row.EntityDetail1TblJournalAccountType;
                        newrow.EntityDetail2TblJournalAccountType = row.EntityDetail2TblJournalAccountType;
                        newrow.Saved = true;
                        MainRowList.Add(newrow);
                    }
                    Loading = false;
                };
                Glclient.UpdateorInsertClosingAdvanceVendorPaymentsCompleted += (s, ev) =>
                {
                    if (ev.Error != null)
                    {
                        MessageBox.Show(ev.Error.Message);
                    }
                    try
                    {
                        MainRowList.Clear();
                    }
                    // ReSharper disable once EmptyGeneralCatchClause
                    catch (Exception)
                    {
                    }
                    Loading = false;
                };
            }
        }
        private void btnDuplicate_Click(object sender, RoutedEventArgs e)
        {
            var newrow = new TblGlChequeTransactionDetailViewModel();

            newrow.InjectFrom(_viewModel.SelectedDetailRow);
            newrow.ChequePerRow = new TblBankCheque();

            newrow.Iserial = 0;
            _viewModel.SelectedMainRow.DetailsList.Add(newrow);
        }
        private void BtnImport_Click(object sender, RoutedEventArgs e)
        {
            var stylelist = new List <TblGlChequeTransactionDetailViewModel>();
            var oFile     = new OpenFileDialog {
                Filter = "Excel (*.xls)|*.xls"
            };

            if (oFile.ShowDialog() == true)
            {
                var fs = oFile.File.OpenRead();

                var book  = Workbook.Open(fs);
                var sheet = book.Worksheets[0];

                var JournalAccountType = 0;
                var EntityCode         = 0;
                var Payto       = 0;
                var Amount      = 0;
                var DueDate     = 0;
                var Cheque      = 0;
                var Description = 0;
                for (int j = sheet.Cells.FirstColIndex; j < sheet.Cells.LastColIndex + 1; j++)
                {
                    switch (sheet.Cells[0, j].StringValue.ToLower())
                    {
                    case "journalaccounttype":
                        JournalAccountType = j;
                        break;

                    case "entitycode":
                        EntityCode = j;
                        break;

                    case "payto":
                        Payto = j;
                        break;

                    case "amount":
                        Amount = j;
                        break;

                    case "duedate":
                        DueDate = j;
                        break;

                    case "cheque":
                        Cheque = j;
                        break;

                    case "description":
                        Description = j;
                        break;
                    }
                }
                ;
                for (int i = sheet.Cells.FirstRowIndex + 1; i < sheet.Cells.LastRowIndex + 1; i++)
                {
                    var journalAccountPerRow = _viewModel.TblJournalAccountTypeList.SingleOrDefault(x => x.Ename.ToLower() == sheet.Cells[i, JournalAccountType].StringValue.ToLower().Trim());
                    var newemp = new TblGlChequeTransactionDetailViewModel();
                    newemp.TblJournalAccountTypePerRow        = journalAccountPerRow;
                    newemp.EntityDetail1TblJournalAccountType = journalAccountPerRow.Iserial;
                    newemp.EntityCode  = sheet.Cells[i, EntityCode].StringValue.ToUpper().Trim();
                    newemp.PayTo       = sheet.Cells[i, Payto].StringValue.ToUpper().Trim();
                    newemp.Amount      = Convert.ToDouble(sheet.Cells[i, Amount].StringValue.ToUpper().Trim());
                    newemp.DueDate     = sheet.Cells[i, DueDate].DateTimeValue;
                    newemp.ChequeNo    = sheet.Cells[i, Cheque].StringValue.ToUpper().Trim();
                    newemp.Description = sheet.Cells[i, Description].StringValue.ToUpper().Trim();

                    stylelist.Add(newemp);
                }
                _viewModel.GenerateDetailListFromExcel(stylelist);
            }
        }