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); } }