public static string SalvaControllo(int idControllo, string codice, string descrizione, string tipo, double minimo, double massimo, double Default, ElementoLista[] lista, string account) { SchedeProcessoDS ds = new SchedeProcessoDS(); using (SchedeProcessoBusiness bScheda = new SchedeProcessoBusiness()) { bScheda.GetControllo(ds, idControllo); SchedeProcessoDS.SPCONTROLLIRow riga = ds.SPCONTROLLI.Where(x => x.IDSPCONTROLLO == idControllo).FirstOrDefault(); if (riga != null) { riga.CODICE = codice.ToUpper(); riga.DESCRIZIONE = descrizione.ToUpper(); riga.TIPO = tipo.ToUpper(); riga.MINIMO = minimo; riga.MASSIMO = massimo; riga.DEFAULT = Default; riga.DATAMODIFICA = DateTime.Now; riga.UTENTEMODIFICA = account; } else { riga = ds.SPCONTROLLI.NewSPCONTROLLIRow(); riga.CODICE = codice.ToUpper(); riga.DESCRIZIONE = descrizione.ToUpper(); riga.MINIMO = minimo; riga.TIPO = tipo.ToUpper(); riga.MASSIMO = massimo; riga.DEFAULT = Default; riga.CANCELLATO = false; riga.DATAMODIFICA = DateTime.Now; riga.UTENTEMODIFICA = account.ToUpper(); ds.SPCONTROLLI.AddSPCONTROLLIRow(riga); } if (tipo == TipoSPControllo.LISTA) { foreach (ElementoLista elemento in lista) { int sequenza = 1; if (!string.IsNullOrEmpty(elemento.Sequenza)) { Int32.TryParse(elemento.Sequenza, out sequenza); } SPElementoLista.SalvaElemento(elemento.IDElemento, riga.IDSPCONTROLLO, elemento.Codice, elemento.Descrizione, sequenza, account, ds); } } bScheda.UpdateTableSPControlli(ds); bScheda.UpdateTable(ds.SPELEMENTILISTA.TableName, ds); } return("Controllo creato correttamente"); }
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); } }
public static string SalvaMaster(int idMaster, string codice, string descrizione, string areaProduzione, string task, ElementoMaster[] elementiLista, string account) { SchedeProcessoDS ds = new SchedeProcessoDS(); using (SchedeProcessoBusiness bScheda = new SchedeProcessoBusiness()) { bScheda.GetSPMaster(ds, idMaster); bScheda.FillElementi(ds, idMaster, true); SchedeProcessoDS.SPMASTERSRow riga = ds.SPMASTERS.Where(x => x.IDSPMASTER == idMaster).FirstOrDefault(); if (string.IsNullOrEmpty(codice)) { int maxIDSPMasyer = bScheda.GetMaxIDSPMaster() + 1; codice = "MA" + maxIDSPMasyer.ToString().PadLeft(ds.SPMASTERS.CODICEColumn.MaxLength - 2, '0'); } if (riga != null) { riga.CODICE = codice.ToUpper(); riga.DESCRIZIONE = descrizione.ToUpper(); riga.AREAPRODUZIONE = areaProduzione.ToUpper(); riga.TASK = task.ToUpper(); riga.DATAMODIFICA = DateTime.Now; riga.UTENTEMODIFICA = account; } else { riga = ds.SPMASTERS.NewSPMASTERSRow(); riga.CODICE = codice.ToUpper(); riga.DESCRIZIONE = descrizione.ToUpper(); riga.AREAPRODUZIONE = areaProduzione.ToUpper(); riga.TASK = task.ToUpper(); riga.CANCELLATO = false; riga.DATAMODIFICA = DateTime.Now; riga.UTENTEMODIFICA = account.ToUpper(); ds.SPMASTERS.AddSPMASTERSRow(riga); } if (idMaster > 0) { List <int> listaIdElementi = elementiLista.Where(x => x.IDElemento > 0).Select(x => x.IDElemento).Distinct().ToList(); foreach (SchedeProcessoDS.SPELEMENTIRow elemento in ds.SPELEMENTI) { if (!listaIdElementi.Contains(elemento.IDSPELEMENTO)) { elemento.CANCELLATO = true; elemento.DATAMODIFICA = DateTime.Now; elemento.UTENTEMODIFICA = account; } } } List <int> idControlliObbligatori = SPElemento.EstraiListaSPElementiObbligatori(1, true).Select(x => x.IdSPControllo).Distinct().ToList(); int sequenza = 0; foreach (ElementoMaster elemento in elementiLista) { if (!idControlliObbligatori.Contains(elemento.IDControllo)) { sequenza++; SPElemento.SalvaElemento(elemento.IDElemento, elemento.IDControllo, riga.IDSPMASTER, elemento.Testo, elemento.Tipo, elemento.Obbligatorio, sequenza, account, ds); } } bScheda.UpdateTableSPMaster(ds); bScheda.UpdateTable(ds.SPELEMENTI.TableName, ds); } return("Master creato correttamente"); }