//funzione per visualizzare i dati dell'ente ricercato private void GetGridResult() { CurrentFvState = FormViewMode.Edit; //metto l'oggetto in sessione if (EntFormViewDataSource == null) { return; } if (EntFormViewDataSource.RefOrg.HasValue) { RubricaEntitaService S = new RubricaEntitaService(); RubricaEntita DataOrg = S.GetRubricaEntitaCompleteById(EntFormViewDataSource.RefOrg.Value); OrgDen = DataOrg.RagioneSociale; } else { OrgDen = null; } EntFormView.DataBind(); FormView1.Visible = true; if (EntFormViewDataSource.Contatti == null) { List <RubricaContatti> lrc = new List <RubricaContatti>(); EntFormViewDataSource.Contatti = lrc; } switch (EntFormViewDataSource.Contatti.Count) { case 0: gvContacts.Visible = true; ContactsFormView.Visible = true; gvContacts.DataBind(); ContactsFormView.DataBind(); break; //case 1: //hfCurrentID = EntFormViewDataSource.Contatti[0].IdContact; //DataContactView(EntFormViewDataSource.Contatti[0].IdContact); // gvContacts.Visible = true; // ContactsFormView.Visible = true; // break; default: gvContacts.Visible = true; ContactsFormView.Visible = false; OnContactsPagerIndexChanged("", 0); if (EntFormViewDataSource.Contatti.Count <= PagerSize) { gvContacts.BottomPagerRow.Visible = false; } break; } }
//click sul bottone per creare un contatto nuovo protected void ContactsFormView_InsertCommand(object sender, EventArgs e) { hidInsertType.Value = ((ImageButton)sender).CommandName; if (gvContacts.Rows.Count == 0) //serve per nascondere la scritta { gvContacts.Visible = false; //dell'empty data template della gv } RubricaEntita rubEnt = EntFormViewDataSource; if (rubEnt.Contatti.Count == 1) { OnContactsPagerIndexChanged("", 0); gvContacts.BottomPagerRow.Visible = false; } ContactsFormView.Visible = true; CurrentFvState = FormViewMode.Insert; ContactsFormView.DataBind(); }
//metodo per il binding dei contatti public void DataContactView(long?idContact) { if (idContact.HasValue && idContact > 0) { //rubEnt = (RubricaEntita)Session["EntSession"]; RubricaEntita rubEnt = EntFormViewDataSource; List <RubricaContatti> l1 = new List <RubricaContatti>(); l1.Add(rubEnt.Contatti.SingleOrDefault(x => x.IdContact == Convert.ToInt32(idContact))); ContactsFormView.DataSource = l1; ContactsFormView.DataBind(); ContactsFormView.Visible = true; } else { ContactsFormView.Visible = false; } }
//click sul bottone della formview dei contatti: gestisce update ed inserimento protected void ContactsFormView_ItemCommand(object sender, FormViewCommandEventArgs e) { RubricaEntita rubEnt = Session["EntSession"] as RubricaEntita; RubricaContatti contact = new RubricaContatti(); RubricaEntitaService rubrService = new RubricaEntitaService(); #region "Gestione Inseret/update contatto" if (e.CommandName.Equals("Update")) { int idCnt = Int32.Parse(((HiddenField)ContactsFormView.FindControl("hfIdContact")).Value); contact = rubEnt.Contatti.SingleOrDefault(x => x.IdContact == idCnt); } if ((e.CommandName.Equals("Insert") && hidInsertType.Value.Equals("Insert_c")) || e.CommandName.Equals("Update")) { if ((e.CommandName.Equals("Insert"))) { contact.RefIdReferral = rubEnt.IdReferral; } //funzione per il controllo di inserimento di contatti già inseriti if (contact != null && ContactControls(contact.IdContact) == false) //caso in cui non supera i controlli { if (e.CommandName == "Update") //ricarico i dati precedenti in caso di update { DataContactView(Int32.Parse(((HiddenField)ContactsFormView.FindControl("hfIdContact")).Value)); } else //svuoto i campi in caso di insert { (ContactsFormView.FindControl("TextMail") as TextBox).Text = ""; (ContactsFormView.FindControl("TextTelefono") as TextBox).Text = ""; (ContactsFormView.FindControl("TextFax") as TextBox).Text = ""; } return; } try { contact.Telefono = ((TextBox)ContactsFormView.FindControl("TextTelefono")).Text; contact.Mail = ((TextBox)ContactsFormView.FindControl("TextMail")).Text; contact.Fax = ((TextBox)ContactsFormView.FindControl("TextFax")).Text; contact.ContactRef = ((TextBox)ContactsFormView.FindControl("TextRef")).Text; contact.Note = ((TextBox)ContactsFormView.FindControl("TextNote")).Text; contact.IsPec = ((CheckBox)ContactsFormView.FindControl("chkPec")).Checked; contact.AffIPA = 0; if (contact.IsPec == false) { foreach (MailPecForCheck val in Enum.GetValues(typeof(MailPecForCheck))) { if (contact.Mail.Contains("@" + val.ToString() + ".")) { contact.IsPec = true; } } } } catch { ((BasePage)this.Page).info.AddMessage("Attenzione: si è verificato un errore", Com.Delta.Messaging.MapperMessages.LivelloMessaggio.ERROR); return; } if (contact.Telefono == "" && contact.Mail == "" && contact.Fax == "") { ((BasePage)this.Page).info.AddMessage("Inserire almeno un parametro", Com.Delta.Messaging.MapperMessages.LivelloMessaggio.ERROR); return; } if (contact.Mail == "" && contact.IsPec == true) { ((BasePage)this.Page).info.AddMessage("Inserire indirizzo email valido", Com.Delta.Messaging.MapperMessages.LivelloMessaggio.ERROR); contact.IsPec = false; return; } if (contact.Telefono == "") { contact.Telefono = null; } if (contact.Mail == "") { contact.Mail = null; } if (contact.Fax == "") { contact.Fax = null; } if (contact.ContactRef == "") { contact.ContactRef = null; } if (contact.Note == "") { contact.Note = null; } if (e.CommandName == "Update") { try { //metodo per l'update ContattoService contattoService = new ContattoService(); contattoService.UpdateRubrContatti(contact, false); } catch (Exception) { ((BasePage)this.Page).info.AddMessage("Aggiornamento non riuscito: Errore in banca dati", Com.Delta.Messaging.MapperMessages.LivelloMessaggio.ERROR); return; } ((BasePage)this.Page).info.AddMessage("Contatto modificato", Com.Delta.Messaging.MapperMessages.LivelloMessaggio.INFO); } else if (e.CommandName == "Insert") { try { //metodo per l'insert ContattoService contattoService = new ContattoService(); contattoService.InsertRubrContatti(contact, false); } catch (Exception ex) { ((BasePage)this.Page).info.AddMessage("Inserimento non riuscito: Errore in banca dati dettagli: " + ex.Message, Com.Delta.Messaging.MapperMessages.LivelloMessaggio.ERROR); return; } ((BasePage)this.Page).info.AddMessage("Contatto inserito", Com.Delta.Messaging.MapperMessages.LivelloMessaggio.INFO); } } #endregion #region "Insert di un nuovo gruppo o di un nuovo ufficio" if ((e.CommandName.Equals("Insert") && hidInsertType.Value.Equals("Insert_u"))) { RubricaEntita newEnt = new RubricaEntita(); newEnt.Ufficio = ((TextBox)ContactsFormView.FindControl("TextUfficio")).Text; newEnt.IdPadre = rubEnt.IdReferral; newEnt.RefOrg = (rubEnt.RefOrg == null ? rubEnt.IdReferral : rubEnt.RefOrg); if (rubEnt.ReferralType.ToString().StartsWith("PA")) { newEnt.ReferralType = EntitaType.PA_UFF; } else if (rubEnt.ReferralType.ToString().StartsWith("AZ")) { newEnt.ReferralType = EntitaType.AZ_UFF; } try { //metodo per l'insert rubrService.Insert(newEnt); } catch (Exception e0) { ((BasePage)this.Page).info.AddMessage("Inserimento non riuscito: " + e0.Message, Com.Delta.Messaging.MapperMessages.LivelloMessaggio.ERROR); return; } ((BasePage)this.Page).info.AddMessage("Gruppo inserito", Com.Delta.Messaging.MapperMessages.LivelloMessaggio.INFO); ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "reload_local_tree", "ShowTree(config.tree);", true); } else if ((e.CommandName.Equals("Insert") && hidInsertType.Value.Equals("Insert_g"))) { RubricaEntita newEnt = new RubricaEntita(); newEnt.Ufficio = ((TextBox)ContactsFormView.FindControl("TextGruppo")).Text; newEnt.IdPadre = rubEnt.IdReferral; newEnt.RefOrg = (rubEnt.RefOrg == null ? rubEnt.IdReferral : rubEnt.RefOrg); if (rubEnt.ReferralType.ToString().StartsWith("PA")) { newEnt.ReferralType = EntitaType.PA_GRP; } else if (rubEnt.ReferralType.ToString().StartsWith("AZ")) { newEnt.ReferralType = EntitaType.AZ_GRP; } try { //metodo per l'insert rubrService.Insert(newEnt); } catch (Exception e1) { ((BasePage)this.Page).info.AddMessage("Inserimento non riuscito: " + e1.Message, Com.Delta.Messaging.MapperMessages.LivelloMessaggio.ERROR); return; } ((BasePage)this.Page).info.AddMessage("Ufficio inserito", Com.Delta.Messaging.MapperMessages.LivelloMessaggio.INFO); ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "reload_local_tree", "ShowTree();", true); } #endregion hfCurrentID = contact.IdContact ?? -1; long idEntita = long.Parse((EntFormView.FindControl("hfIdEntita") as HiddenField).Value); EntFormViewDataSource = rubrService.GetRubricaEntitaCompleteById(idEntita); rubEnt = EntFormViewDataSource; switch (rubEnt.Contatti.Count) { case 0: gvContacts.Visible = true; gvContacts.DataBind(); ContactsFormView.DataBind(); break; default: if (hfCurrentID == -1) { OnContactsPagerIndexChanged("", 0); } else { int index = rubEnt.Contatti.IndexOf(rubEnt.Contatti.First(x => x.IdContact == hfCurrentID)); OnContactsPagerIndexChanged("", index / PagerSize); } if (rubEnt.Contatti.Count <= PagerSize) { gvContacts.BottomPagerRow.Visible = false; } break; } ContactsFormView.Visible = false; }