public void SalvaApprovvigionamenti(string approvigionamenti, string Modello) { ApprovvigionamentoMagazzino[] Approvvigionamenti = JSonSerializer.Deserialize <ApprovvigionamentoMagazzino[]>(approvigionamenti); using (MagazzinoBusiness bMagazzino = new MagazzinoBusiness()) { MagazzinoDS ds = new MagazzinoDS(); bMagazzino.FillMONITOR_APPROVVIGIONAMENTO(ds); foreach (string idMagazz in Approvvigionamenti.Where(x => !x.Checked).Select(x => x.IDMAGAZZ)) { MagazzinoDS.MONITOR_APPROVVIGIONAMENTORow approvvigionamentoDaCancellare = ds.MONITOR_APPROVVIGIONAMENTO.Where(x => x.RowState != System.Data.DataRowState.Deleted && x.IDMAGAZZ == idMagazz).FirstOrDefault(); if (approvvigionamentoDaCancellare != null) { approvvigionamentoDaCancellare.Delete(); } } foreach (ApprovvigionamentoMagazzino approv in Approvvigionamenti.Where(x => x.Checked)) { MagazzinoDS.MONITOR_APPROVVIGIONAMENTORow approvvigionamento = ds.MONITOR_APPROVVIGIONAMENTO.Where(x => x.RowState != System.Data.DataRowState.Deleted && x.IDMAGAZZ == approv.IDMAGAZZ).FirstOrDefault(); if (approvvigionamento == null) { approvvigionamento = ds.MONITOR_APPROVVIGIONAMENTO.NewMONITOR_APPROVVIGIONAMENTORow(); approvvigionamento.IDMAGAZZ = approv.IDMAGAZZ; approvvigionamento.NOTA = approv.Nota; approvvigionamento.DATASCADENZA = DateTime.Parse(approv.DataScadenza); ds.MONITOR_APPROVVIGIONAMENTO.AddMONITOR_APPROVVIGIONAMENTORow(approvvigionamento); } else { approvvigionamento.NOTA = approv.Nota; approvvigionamento.DATASCADENZA = DateTime.Parse(approv.DataScadenza); } } bMagazzino.UpdateMONITOR_APPROVVIGIONAMENTO(ds); } }