public void Change(Transfer item) { _SQL.RunQuery(String.Format("UPDATE `{0}` SET ID_DEADLINE={1}, ID_MATTYPE={2}, ID_COMPANY={3}, AMOUNT={4}, ID_UNIT={5}, PRICE={6}, ID_CURRENCY={7}, COURSEDATE='{8}', COURSE={9} WHERE ID={10};", _table, item.Deadline.ID, item.MaterialType.ID, item.Company.ID, item.Amount.ToString().Replace(',', '.'), item.Unit.ID, item.Price.ToString().Replace(',', '.'), item.Currency.ID, DateTimeUtils.DateTimeToSQLDate(item.CourseDate), item.Course.ToString().Replace(',', '.'), item.ID)); }
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) { if ((dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == null)&&(cellValue=="")) return; else if ((dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value!=null)&&(cellValue == dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString())) return; if ((addID != -1) && (addID != e.RowIndex)) rowsAdded = false; else if ((addID != -1) && (addID == e.RowIndex)) rowsAdded = true; if (initState) return; if (units == null) return; if (companies == null) return; foreach(String collumn in nummericIntCollums){ int intOut = 0; if (dataGridView1.Rows[e.RowIndex].Cells[collumn].Value == null) continue; if (!int.TryParse(dataGridView1.Rows[e.RowIndex].Cells[collumn].Value.ToString(), out intOut)) { dataGridView1.Rows[e.RowIndex].Cells[collumn].ErrorText = "Zadejte číselnou hodnotu!"; } else { dataGridView1.Rows[e.RowIndex].Cells[collumn].ErrorText = ""; } } foreach (String collumn in nummericFloatCollums) { float floatOut = 0; if (dataGridView1.Rows[e.RowIndex].Cells[collumn].Value == null) continue; if (!float.TryParse(dataGridView1.Rows[e.RowIndex].Cells[collumn].Value.ToString().Replace('.',','), out floatOut)) { dataGridView1.Rows[e.RowIndex].Cells[collumn].ErrorText = "Zadejte číselnou hodnotu!"; } else { dataGridView1.Rows[e.RowIndex].Cells[collumn].ErrorText = ""; } } if (dataGridView1.Rows[e.RowIndex].Cells["CourseDateColumn"].Value != null) { String courseDateStr = dataGridView1.Rows[e.RowIndex].Cells["CourseDateColumn"].Value.ToString(); String[] dateParts = courseDateStr.Split('.'); int intVal = 0; if (!courseDateStr.Contains(".")) { dataGridView1.Rows[e.RowIndex].Cells["CourseDateColumn"].ErrorText = "Datum nemá správný formát(dd.mm.yyyy)"; } else if (dateParts.Length != 3) { dataGridView1.Rows[e.RowIndex].Cells["CourseDateColumn"].ErrorText = "Datum nemá správný formát(dd.mm.yyyy)"; } else if (!int.TryParse(dateParts[0], out intVal) || !int.TryParse(dateParts[1], out intVal) || !int.TryParse(dateParts[2], out intVal)) { dataGridView1.Rows[e.RowIndex].Cells["CourseDateColumn"].ErrorText = "Datum nemá správný formát(dd.mm.yyyy)"; } else { dataGridView1.Rows[e.RowIndex].Cells["CourseDateColumn"].ErrorText = ""; } if (dataGridView1.Rows[e.RowIndex].Cells["CourseDateColumn"].Value.ToString() == "") dataGridView1.Rows[e.RowIndex].Cells["CourseDateColumn"].ErrorText = ""; } else { dataGridView1.Rows[e.RowIndex].Cells["CourseDateColumn"].ErrorText = ""; } bool rowError = false; foreach (DataGridViewCell cell in dataGridView1.Rows[e.RowIndex].Cells) { if (cell.ErrorText != "") { rowError = true; break; } } if (dataGridView1.Rows[e.RowIndex].Cells["UnitColumn"].Value == null) return; Unit unitItem = getUnit(dataGridView1.Rows[e.RowIndex].Cells["UnitColumn"].Value.ToString()); if (unitItem.ID == 0) return; if (dataGridView1.Rows[e.RowIndex].Cells["CompanyColumn"].Value == null) return; Company companyItem = getCompany(dataGridView1.Rows[e.RowIndex].Cells["CompanyColumn"].Value.ToString()); if (companyItem.ID == 0) return; DateTime courseDate = new DateTime(); if (dataGridView1.Rows[e.RowIndex].Cells["CourseDateColumn"].Value == null) { //courseDate = DateTimeUtils.GetFirstWorkDay(dateTimePicker1.Value.Month,dateTimePicker1.Value.Year); //dataGridView1.Rows[e.RowIndex].Cells["CourseDateColumn"].Value = DateTimeUtils.DateToString(courseDate); } else { if ((!rowError) && (dataGridView1.Rows[e.RowIndex].Cells["CourseDateColumn"].Value.ToString()!="")) { String[] dateParts = dataGridView1.Rows[e.RowIndex].Cells["CourseDateColumn"].Value.ToString().Split('.'); courseDate = new DateTime(int.Parse(dateParts[2]), int.Parse(dateParts[1]), int.Parse(dateParts[0])); } } //if (dataGridView1.Rows[e.RowIndex].Cells["PriceColumn"].Value == null) return; if (dataGridView1.Rows[e.RowIndex].Cells["MaterialTypeColumn"].Value == null) return; MaterialType materialTypeItem = getMaterialType(dataGridView1.Rows[e.RowIndex].Cells["MaterialTypeColumn"].Value.ToString()); if (materialTypeItem.ID == 0) return; Currency currencyItem; if (dataGridView1.Rows[e.RowIndex].Cells["CurrencyColumn"].Value == null) currencyItem = new Currency(0, ""); else currencyItem = getCurrency(dataGridView1.Rows[e.RowIndex].Cells["CurrencyColumn"].Value.ToString()); if (currencyItem.ID == 0) return; float course = 0; if ((dataGridView1.Rows[e.RowIndex].Cells["CourseDateColumn"].Value!=null)&&(dataGridView1.Rows[e.RowIndex].Cells["CourseDateColumn"].ErrorText == "") && (dataGridView1.Rows[e.RowIndex].Cells["CourseDateColumn"].Value.ToString() != "")) { course = ExchangeRates.getByDate(Currencies.getCurrency(dataGridView1.Rows[e.RowIndex].Cells["CurrencyColumn"].Value.ToString()), courseDate); } else { course = 0; } dataGridView1.Rows[e.RowIndex].Cells["CourseColumn"].Value = course.ToString(); int id = 0; if (!rowsAdded) id = items[e.RowIndex].ID;/* id = int.Parse(dataGridView1.Rows[e.RowIndex].Cells["IDColumn"].Value.ToString());*/ Transfer transferItem = new Transfer( (int)parseCell(0,e.RowIndex,"IDColumn"), new Deadline(0,new DateTime()), materialTypeItem, companyItem, parseCell(0,e.RowIndex,"AmountColumn"), unitItem, parseCell(0, e.RowIndex, "PriceColumn"), currencyItem, courseDate, course ); if (rowError) return; if (rowsAdded) { Status = "Přidávám novou položku..."; Transfers.Add(transferItem); if (!connector.IsConnected()) return; dataGridView1.BeginInvoke(new Action(()=>{ reload(); dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.Rows.Count - 1; //dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells.Count - 1].Selected = true; //dataGridView1.BeginEdit(true); })); addID = -1; dataGridView1.Rows[dataGridView1.NewRowIndex].ReadOnly = false; dataGridView1.Rows[dataGridView1.NewRowIndex].DefaultCellStyle = dataGridView1.DefaultCellStyle; refresh(); } else { if (items[e.RowIndex] != transferItem) { Status = "Provádím úpravy..."; Transfers.Change(transferItem); if (!connector.IsConnected()) return; if ((dataGridView1.Columns[e.ColumnIndex].Name == "PriceColumn") || (dataGridView1.Columns[e.ColumnIndex].Name == "AmountColumn") || (dataGridView1.Columns[e.ColumnIndex].Name == "CurrencyColumn") || (dataGridView1.Columns[e.ColumnIndex].Name == "CourseDateColumn")) refresh(); } } rowsAdded = false; Status = "....."; }
public void Add(Transfer item) { this.Add(item.Deadline, item.MaterialType, item.Company, item.Amount, item.Unit, item.Price, item.Currency, item.CourseDate, item.Course); }