private void buSalva_Click(object sender, EventArgs e) { string tableName = "ARTICOLI"; if (_dsServizio.Tables[tableName].Rows.Count == 0) { return; } try { foreach (DataRow riga in _dsServizio.Tables[tableName].Rows) { //decimal IDARTICOLO = (decimal)riga["IDARTICOLO"]; // string RIFERIMENTO = (string)riga["PARTE"]; //PARTE = (string)riga["PARTE"]; //COLORE = (string)riga["COLORE"]; // if (!string.IsNullOrEmpty(riga["PARTE"]) if (riga["IDARTICOLO"] != DBNull.Value) { decimal IDARTICOLO = (decimal)riga["IDARTICOLO"]; // && x.RIFERIMENTO.Trim() == RIFERIMENTO CDCDS.CDC_ARTICOLIRow articolo = _DS.CDC_ARTICOLI.Where(x => x.IDARTICOLO == IDARTICOLO).FirstOrDefault(); if (articolo == null) { articolo = _DS.CDC_ARTICOLI.NewCDC_ARTICOLIRow(); articolo.PARTE = selPARTE; articolo.COLORE = selCOLORE; //articolo.PARTE = ((string)riga["PARTE"]).ToUpper().Trim(); //articolo.COLORE = ((string)riga["COLORE"]).ToUpper().Trim(); articolo.SEQUENZA = (Int32)riga["SEQUENZA"]; articolo.DESCRIZIONE = ((string)riga["DESCRIZIONE"]).ToUpper().Trim(); articolo.COLORECOMPONENTE = ((string)riga["COLORECOMPONENTE"]).ToUpper().Trim(); articolo.MISUREPERCAMPIONE = (Int32)riga["MISUREPERCAMPIONE"]; articolo.PESO = (double)riga["PESO"]; articolo.SFRIDO = (double)riga["SFRIDO"]; articolo.SUPERFICIE = (double)riga["SUPERFICIE"]; //articolo.IDDETTAGLIO = IDDETTAGLIO; //articolo.MINIMO = ConvertiInStringa(riga[""]).ToUpper().Trim(); //articolo.RIFERIMENTO = ((string)riga[2]).ToUpper().Trim(); //articolo.TAMPONE = ConvertiInStringa(riga[8]).ToUpper().Trim(); //articolo.TOLLERANZA = ConvertiInStringa(riga[5]).ToUpper().Trim(); articolo.DATARIFERIMENTO = DateTime.Now; articolo.UTENTE = Contesto.Utente.FULLNAMEUSER; _DS.CDC_ARTICOLI.AddCDC_ARTICOLIRow(articolo); } else { articolo.PARTE = ((string)riga["PARTE"]).ToUpper().Trim(); articolo.COLORE = ((string)riga["COLORE"]).ToUpper().Trim(); articolo.SEQUENZA = (Int32)riga["SEQUENZA"]; articolo.DESCRIZIONE = ((string)riga["DESCRIZIONE"]).ToUpper().Trim(); articolo.COLORECOMPONENTE = ((string)riga["COLORECOMPONENTE"]).ToUpper().Trim(); articolo.MISUREPERCAMPIONE = (Int32)riga["MISUREPERCAMPIONE"]; articolo.PESO = (double)riga["PESO"]; articolo.SFRIDO = (double)riga["SFRIDO"]; articolo.SUPERFICIE = (double)riga["SUPERFICIE"]; articolo.DATARIFERIMENTO = DateTime.Now; articolo.UTENTE = Contesto.Utente.FULLNAMEUSER; } } else { CDCDS.CDC_ARTICOLIRow articolo = _DS.CDC_ARTICOLI.NewCDC_ARTICOLIRow(); articolo.PARTE = selPARTE; articolo.COLORE = selCOLORE; articolo.SEQUENZA = (Int32)riga["SEQUENZA"]; articolo.DESCRIZIONE = ((string)riga["DESCRIZIONE"]).ToUpper().Trim(); articolo.COLORECOMPONENTE = ((string)riga["COLORECOMPONENTE"]).ToUpper().Trim(); articolo.MISUREPERCAMPIONE = (Int32)riga["MISUREPERCAMPIONE"]; articolo.PESO = (double)riga["PESO"]; articolo.SFRIDO = (double)riga["SFRIDO"]; articolo.SUPERFICIE = (double)riga["SUPERFICIE"]; articolo.DATARIFERIMENTO = DateTime.Now; articolo.UTENTE = Contesto.Utente.FULLNAMEUSER; _DS.CDC_ARTICOLI.AddCDC_ARTICOLIRow(articolo); } } //cerco i cancellati e li marco List <CDCDS.CDC_ARTICOLIRow> articoli = _DS.CDC_ARTICOLI.Where(x => x.RowState != DataRowState.Added && x.PARTE == selPARTE && x.COLORE == selCOLORE).ToList(); foreach (CDCDS.CDC_ARTICOLIRow articolo in articoli) { DataRow[] art = _dsServizio.Tables["ARTICOLI"].Select("IDARTICOLO = " + articolo.IDARTICOLO.ToString()); if (art.GetLength(0) == 0) { articolo.DATARIFERIMENTO = DateTime.Now; articolo.UTENTE = Contesto.Utente.FULLNAMEUSER; articolo.DELETED = "S"; } } CDCBLL bll = new CDCBLL(); bll.SalvaDatiArticoli(_DS); _DS.CDC_ARTICOLI.AcceptChanges(); _DS.CDC_ARTICOLI.Clear(); bll.CaricaArticoli(_DS); CaricaArticolo(selPARTE, selCOLORE); dgvDimensioni.DataSource = null; dgvDimensioni.DataMember = ""; dgvSpessori.DataSource = null; dgvSpessori.DataMember = ""; } catch (Exception ex) { MostraEccezione(ex, "Errore in crea Salva Articoli"); } finally { Cursor.Current = Cursors.Default; } foreach (DataGridViewRow riga in dgvDettaglio.Rows) { string parte = (string)riga.Cells["PARTE"].Value; string colore = (string)riga.Cells["COLORE"].Value; CDCDS.CDC_ARTICOLIRow arow = _DS.CDC_ARTICOLI.Where(x => x.PARTE == parte && x.COLORE == colore).FirstOrDefault(); if (arow == null) { riga.Cells[1].Style.BackColor = Color.Yellow; riga.Cells[2].Style.BackColor = Color.Yellow; } else { List <CDCDS.CDC_ARTICOLI_DIMENSIONIRow> artdimensioni = _DS.CDC_ARTICOLI_DIMENSIONI.Where(x => x.IDARTICOLO == arow.IDARTICOLO).OrderBy(x => x.IDDIMENSIONE).ToList(); List <CDCDS.CDC_ARTICOLI_SPESSORIRow> artspessori = _DS.CDC_ARTICOLI_SPESSORI.Where(x => x.IDARTICOLO == arow.IDARTICOLO).OrderBy(x => x.IDSPESSORE).ToList(); if (artspessori.Count == 0 || artdimensioni.Count == 0) { riga.Cells[1].Style.BackColor = Color.Orange; riga.Cells[2].Style.BackColor = Color.Orange; } else { riga.Cells[1].Style.BackColor = Color.White; riga.Cells[2].Style.BackColor = Color.White; } } } }