private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { switch (InputParameters["Action"].ToString().ToLower()) { case "addnew": // In inserimento creo uno storage vuoto //(DocumentArchive)e.Argument = new DocumentArchive(); storageAreaRule = new StorageAreaRule(); if (InputParameters["IdArchive"].ToString() != String.Empty) { attributes = Client.GetAttributesFromArchive((Guid)InputParameters["IdArchive"]); } break; case "modify": // Se sto modificando carico i dati da modificare storageAreaRule = Client.GetStorageAreaRule((Guid)InputParameters["IdStorageArea"], (Guid)InputParameters["IdAttribute"]); attributes = Client.GetAttributesFromArchive((Guid)InputParameters["IdArchive"]); break; } archives = Client.GetArchivesFromStorage((Guid)InputParameters["IdStorage"]); if (InputParameters["IdArchive"].ToString() == String.Empty && archives.Count() > 0) { attributes = Client.GetAttributesFromArchive(archives[0].IdArchive); } ruleOperators = Client.GetRuleOperators(); storageArea = Client.GetStorageArea((Guid)InputParameters["IdStorageArea"]); }
/// <summary> /// Sincronizza i valori dei campi del Controllo con i valori della classe dell'oggetto del DB /// In caso di passaggio dati verso il database ( false ) restituisce false se i campi obbligatori non sono valorizzati /// </summary> /// <param name="storage">classe oggetto del db</param> /// <param name="fromStorage">true o false per la direzione del sincronismo dati</param> /// <returns>bool</returns> private bool SyncroMemoryDB(StorageAreaRule storageAreaRule, Boolean fromStorage) { Boolean campiRequiredPopolati = false; if (fromStorage) { // Popolo i controlli dai valori ottenuti dalla classe dell'oggetto DB if (storageAreaRule.Attribute != null) { cbArchive.SelectedValue = storageAreaRule.Attribute.Archive.IdArchive; cbAttribute.SelectedValue = storageAreaRule.Attribute.IdAttribute; } txtOrder.Text = Convert.ToString(storageAreaRule.RuleOrder); txtFilter.Text = storageAreaRule.RuleFilter; txtFormat.Text = storageAreaRule.RuleFormat; cbRuleOperators.SelectedItem = storageAreaRule.RuleOperator; ckCalculated.Checked = storageAreaRule.IsCalculated.GetValueOrDefault(); campiRequiredPopolati = true; } else { // Qui controllo che i campi obbligatori siano valorizzati if (String.IsNullOrEmpty(txtFilter.Text) || String.IsNullOrEmpty(txtOrder.Text) || cbAttribute.SelectedValue == null) { campiRequiredPopolati = false; } else { // Popolo la classe dell'oggetto DB col valore dei controlli storageAreaRule.StorageArea = storageArea; storageAreaRule.Attribute = (BiblosDs.Document.AdminCentral.ServiceReferenceAdministration.Attribute)cbAttribute.SelectedItem; storageAreaRule.RuleOrder = (short)txtOrder.Value; storageAreaRule.RuleFilter = txtFilter.Text; storageAreaRule.RuleFormat = txtFormat.Text; storageAreaRule.RuleOperator = (RuleOperator)cbRuleOperators.SelectedItem; storageAreaRule.IsCalculated = ckCalculated.Checked; campiRequiredPopolati = true; } } return(campiRequiredPopolati); }