private void UpdateSPSchedaHander(object sender, RowUpdatedEventArgs e) { if ((e.Status == UpdateStatus.Continue) && (e.StatementType == StatementType.Insert)) { SchedeProcessoDS.SPSCHEDERow row = (SchedeProcessoDS.SPSCHEDERow)e.Row; SchedeProcessoDS.SPSCHEDEDataTable dt = row.Table as SchedeProcessoDS.SPSCHEDEDataTable; bool isIdentityReadOnly = dt.IDSPSCHEDAColumn.ReadOnly; dt.IDSPSCHEDAColumn.ReadOnly = false; try { row.IDSPSCHEDA = (int)RetrievePostUpdateID <decimal>(e.Command, row); } finally { dt.IDSPSCHEDAColumn.ReadOnly = isIdentityReadOnly; } } }
private static SpScheda CreaScheda(SchedeProcessoDS.SPSCHEDERow riga, SchedeProcessoDS ds) { if (riga == null) { return(null); } SpScheda controllo = new SpScheda(); controllo.IdSPScheda = riga.IDSPSCHEDA; controllo.Master = SPMaster.EstraiSPMaster(riga.IDSPMASTER); controllo.Codice = riga.CODICE; controllo.Descrizione = riga.DESCRIZIONE; controllo.Anagrafica = riga.ANAGRAFICA; controllo.AreaProduzione = riga.AREAPRODUZIONE; controllo.Task = riga.TASK; controllo.Cancellato = riga.CANCELLATO; controllo.DataModifica = riga.DATAMODIFICA; controllo.UtenteModifica = riga.UTENTEMODIFICA; controllo.ValoriScheda = SPValoreScheda.EstraiListaSPValoreScheda(riga.IDSPSCHEDA, true, ds); controllo.Versione = riga.VERSIONE; controllo.Stato = riga.STATO; return(controllo); }
public static string SalvaScheda(int idScheda, int IdSPMaster, string anagrafica, string codice, string descrizione, string areaProduzione, string task, List <ElementoScheda> controlli, List <ElementoScheda> obbligatori, string account) { SchedeProcessoDS ds = new SchedeProcessoDS(); using (SchedeProcessoBusiness bScheda = new SchedeProcessoBusiness()) { bScheda.GetSPScheda(idScheda, ds); // bScheda.FillValoriSchede(ds, idScheda, true); codice = string.Empty; SchedeProcessoDS.SPSCHEDERow schedaPadre = ds.SPSCHEDE.Where(x => x.IDSPSCHEDA == idScheda).FirstOrDefault(); int versione = 1; if (schedaPadre != null) { versione = schedaPadre.VERSIONE + 1; schedaPadre.STATO = StatoSPScheda.STORICO; codice = schedaPadre.CODICE; } SchedeProcessoDS.SPSCHEDERow riga = ds.SPSCHEDE.NewSPSCHEDERow(); riga.CODICE = codice.ToUpper(); riga.DESCRIZIONE = descrizione.ToUpper(); riga.IDSPMASTER = IdSPMaster; riga.AREAPRODUZIONE = areaProduzione.ToUpper(); riga.TASK = task.ToUpper(); riga.ANAGRAFICA = anagrafica.ToUpper(); riga.VERSIONE = versione; riga.STATO = StatoSPScheda.ATTIVA; riga.CANCELLATO = false; riga.DATAMODIFICA = DateTime.Now; riga.UTENTEMODIFICA = account.ToUpper(); ds.SPSCHEDE.AddSPSCHEDERow(riga); // int sequenza = 0; foreach (ElementoScheda controllo in obbligatori) { if (!string.IsNullOrEmpty(controllo.Filename)) { controllo.Valore = (controllo.Filename.Length > 30) ? controllo.Filename.Substring(0, 30) : controllo.Filename; } SPValoreScheda.SalvaValoreScheda(controllo.IDValore, controllo.IDElemento, riga.IDSPSCHEDA, controllo.Valore, controllo.Filedata, account, true, ds); } foreach (ElementoScheda controllo in controlli) { if (!string.IsNullOrEmpty(controllo.Filename)) { controllo.Valore = (controllo.Filename.Length > 30) ? controllo.Filename.Substring(0, 30) : controllo.Filename; } SPValoreScheda.SalvaValoreScheda(controllo.IDValore, controllo.IDElemento, riga.IDSPSCHEDA, controllo.Valore, controllo.Filedata, account, false, ds); } bScheda.UpdateTableSPScheda(ds); bScheda.UpdateTable(ds.SPVALORISCHEDE.TableName, ds); ds.AcceptChanges(); if (string.IsNullOrEmpty(codice)) { riga.CODICE = string.Format("SP{0}", riga.IDSPSCHEDA.ToString().PadLeft(8, '0')); bScheda.UpdateTableSPScheda(ds); } string messaggio = string.Format("Scheda creata correttamente. CODICE: {0}", riga.CODICE); return(messaggio); } }