public void AddNyActebisFaktura(tblwfak recwFak) { this.tblwfakBindingSource.Add(recwFak); this.tblwfakBindingSource.MoveLast(); }
private void pasteCsv(IDataObject dataObject) { object lDataObjectGetData = dataObject.GetData(DataFormats.CommaSeparatedValue); string csv = lDataObjectGetData as string; if (csv == null) { System.IO.MemoryStream stream = lDataObjectGetData as System.IO.MemoryStream; if (stream != null) { csv = new System.IO.StreamReader(stream).ReadToEnd(); } } if (csv == null) { return; } Regex regexCommaCvs = new Regex(@"""(.*?)"",|([^,]*),|(.*)$"); Regex regexSimicolonCvs = new Regex(@"""(.*?)"";|([^;]*);|(.*)$"); string[] sep = { "\r\n", "\n" }; string[] lines = csv.TrimEnd('\0').Split(sep, StringSplitOptions.RemoveEmptyEntries); int row = tblwfaklinDataGridView.NewRowIndex; tblwfak recWfak = (tblwfak)tblwfakBindingSource.Current; String TargetType = recWfak.sk; foreach (string line in lines) { if (line.Length > 0) { try { int i = 0; int iMax = 12; string[] value = new string[iMax]; foreach (Match m in regexCommaCvs.Matches(line + ",,")) { for (int j = 1; j <= 3; j++) { if (m.Groups[j].Success) { if (i < iMax) { value[i++] = m.Groups[j].ToString(); break; } } } } if (value[3] == null) //konto { i = 0; value = new string[iMax]; foreach (Match m in regexSimicolonCvs.Matches(line + ";;")) { for (int j = 1; j <= 3; j++) { if (m.Groups[j].Success) { if (i < iMax) { value[i++] = m.Groups[j].ToString(); break; } } } } } if (value[3] != null) //konto { tblwfaklin recWfaklin; decimal? Omkostbelob; if (Program.karRegnskab.MomsPeriode() == 2) { recWfaklin = new tblwfaklin { varenr = value[1], tekst = value[2], konto = Microsoft.VisualBasic.Information.IsNumeric(value[3]) ? int.Parse(value[3]) : (int?)null, momskode = "", antal = Microsoft.VisualBasic.Information.IsNumeric(value[4]) ? decimal.Parse(value[4]) : (decimal?)null, enhed = value[5], pris = Microsoft.VisualBasic.Information.IsNumeric(value[6]) ? decimal.Parse(value[6]) : (decimal?)null, moms = 0, nettobelob = Microsoft.VisualBasic.Information.IsNumeric(value[7]) ? decimal.Parse(value[7]) : (decimal?)null, bruttobelob = Microsoft.VisualBasic.Information.IsNumeric(value[7]) ? decimal.Parse(value[7]) : (decimal?)null, }; Omkostbelob = Microsoft.VisualBasic.Information.IsNumeric(value[8]) ? decimal.Parse(value[8]) : (decimal?)null; if ((TargetType == "S") && (Omkostbelob != null)) { recWfaklin.konto = getVaresalgsKonto(recWfaklin.konto); decimal momspct = KarMoms.getMomspct(recWfaklin.momskode) / 100; recWfaklin.pris += decimal.Round((decimal)(Omkostbelob / recWfaklin.antal), 2); recWfaklin.nettobelob = decimal.Round((decimal)(recWfaklin.pris * recWfaklin.antal), 2); recWfaklin.moms = decimal.Round((decimal)(recWfaklin.nettobelob * momspct), 2); recWfaklin.bruttobelob = decimal.Round((decimal)(recWfaklin.nettobelob + recWfaklin.moms), 2); } } else { recWfaklin = new tblwfaklin { varenr = value[1], tekst = value[2], konto = Microsoft.VisualBasic.Information.IsNumeric(value[3]) ? int.Parse(value[3]) : (int?)null, momskode = value[4], antal = Microsoft.VisualBasic.Information.IsNumeric(value[5]) ? decimal.Parse(value[5]) : (decimal?)null, enhed = value[6], pris = Microsoft.VisualBasic.Information.IsNumeric(value[7]) ? decimal.Parse(value[7]) : (decimal?)null, moms = Microsoft.VisualBasic.Information.IsNumeric(value[8]) ? decimal.Parse(value[8]) : (decimal?)null, nettobelob = Microsoft.VisualBasic.Information.IsNumeric(value[9]) ? decimal.Parse(value[9]) : (decimal?)null, bruttobelob = Microsoft.VisualBasic.Information.IsNumeric(value[10]) ? decimal.Parse(value[10]) : (decimal?)null }; Omkostbelob = Microsoft.VisualBasic.Information.IsNumeric(value[11]) ? decimal.Parse(value[11]) : (decimal?)null; if ((TargetType == "S") && (Omkostbelob != null)) { recWfaklin.konto = getVaresalgsKonto(recWfaklin.konto); recWfaklin.momskode = "S25"; decimal momspct = KarMoms.getMomspct(recWfaklin.momskode) / 100; recWfaklin.pris += decimal.Round((decimal)(Omkostbelob / recWfaklin.antal), 2); recWfaklin.nettobelob = decimal.Round((decimal)(recWfaklin.pris * recWfaklin.antal), 2); recWfaklin.moms = decimal.Round((decimal)(recWfaklin.nettobelob * momspct), 2); recWfaklin.bruttobelob = decimal.Round((decimal)(recWfaklin.nettobelob + recWfaklin.moms), 2); } } tblwfaklinBindingSource.Insert(row, recWfaklin); } row++; } catch (FormatException) { //TODO: log exceptions using a nice standard logging library tblwfaklinDataGridView.CancelEdit(); } } else { break; } } }
private void visfejl(tblwfak f, string p) { throw new NotImplementedException(); }
private void tblwfaklinDataGridView1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Right) { DataGridView.HitTestInfo hit = tblwfaklinDataGridView.HitTest(e.X, e.Y); int hitcol = hit.ColumnIndex; if (hit.Type == DataGridViewHitTestType.Cell && hit.ColumnIndex == 2) { tblwfaklinDataGridView.ClearSelection(); DataGridViewCell cellVarenr = tblwfaklinDataGridView.Rows[hit.RowIndex].Cells[hit.ColumnIndex]; cellVarenr.Selected = true; Point startPoint = tblwfaklinDataGridView.PointToScreen(new Point(e.X, e.Y)); FrmVareList m_frmVareList = new FrmVareList(startPoint); m_frmVareList.ShowDialog(); int?selectedVarenr = m_frmVareList.SelectedVarenr; m_frmVareList.Close(); if (selectedVarenr != null) { tblwfak recWfak = tblwfakBindingSource.Current as tblwfak; tblwfaklin recWfaklin = ((DataGridView)sender).Rows[hit.RowIndex].DataBoundItem as tblwfaklin; if (recWfaklin != null) { try { recVarer rec = (from k in Program.karVarer where k.Varenr == selectedVarenr select k).First(); recWfaklin.varenr = rec.Varenr.ToString(); recWfaklin.tekst = rec.Varenavn; recWfaklin.enhed = rec.Enhed; if (recWfak.sk == "S") { recWfaklin.konto = rec.Salgskonto; recWfaklin.momskode = KarKontoplan.getMomskode(rec.Salgskonto); recWfaklin.pris = rec.Salgspris; } if (recWfak.sk == "K") { recWfaklin.konto = rec.Kobskonto; recWfaklin.momskode = KarKontoplan.getMomskode(rec.Kobskonto); recWfaklin.pris = rec.Kobspris; } } catch { } } } } else if (hit.Type == DataGridViewHitTestType.Cell && hit.ColumnIndex == 4) { tblwfaklinDataGridView.ClearSelection(); tblwfaklinDataGridView.Rows[hit.RowIndex].Cells[hit.ColumnIndex].Selected = true; Point startPoint = tblwfaklinDataGridView.PointToScreen(new Point(e.X, e.Y)); FrmKontoplanList m_frmKontoplanList = new FrmKontoplanList(startPoint, KontoType.Drift | KontoType.Status); m_frmKontoplanList.ShowDialog(); int? selectedKontonr = m_frmKontoplanList.SelectedKontonr; string selectedMomskode = m_frmKontoplanList.SelectedMomskode; m_frmKontoplanList.Close(); if (selectedKontonr != null) { tblwfaklin recWfaklin = ((DataGridView)sender).Rows[hit.RowIndex].DataBoundItem as tblwfaklin; if (recWfaklin != null) { recWfaklin.konto = selectedKontonr; recWfaklin.momskode = selectedMomskode; } } } else if (hit.Type == DataGridViewHitTestType.RowHeader) { this.contextMenuLineCopyPaste.Show(this.tblwfaklinDataGridView, new Point(e.X, e.Y)); } } }