public void UpdateVereniging(ClubCloud_Vereniging entity)
        {
            using (new SPMonitoredScope("Verenigingen UpdateVereniging"))
            {
                if (SPContext.Current.Web.CurrentUser != null)
                {
                    int bondsnummer;
                    ClubCloud_Setting Settings = null;
                    if (int.TryParse(SPContext.Current.Web.CurrentUser.UserId.NameId, out bondsnummer))
                    {
                        Settings = Client.GetSettingById(bondsnummer);
                    }

                    if (Settings != null && Settings.VerenigingId != null)
                    {
                        Settings.ClubCloud_Vereniging = Client.GetVerenigingById(Settings.VerenigingId.Value, false, Settings);
                        if (Settings.ClubCloud_Vereniging != null)
                        {
                            entity.AccommodatieId = Settings.ClubCloud_Vereniging.AccommodatieId.Value;
                        }
                        Client.SetVereniging(entity, Settings);
                        this.OnDataSourceViewChanged(EventArgs.Empty);
                    }
                }
            }
        }
예제 #2
0
        public async Task <Vereniging> GetVerenigingByLocatieAsync(double Longitude, double Latitude)
        {
            Vereniging vereniging = new Vereniging {
                Id = Guid.NewGuid()
            };

            ClubCloud_Vereniging ccVereniging = await client.GetVerenigingByLocationAsync("00000000", Latitude, Longitude, false);

            if (ccVereniging != null)
            {
                vereniging = new Vereniging {
                    Id = ccVereniging.Id, Naam = ccVereniging.Naam, Nummer = ccVereniging.Nummer, AccommodatieId = ccVereniging.AccommodatieId.Value
                };
            }
            else
            {
                await Task.Delay(5000);

                if (vereniging == null)
                {
                    vereniging = await GetVerenigingByLocatieAsync(Longitude, Latitude);
                }
            }

            return(vereniging);
        }
예제 #3
0
        public ClubCloud_Vereniging GetVerenigingForAddressById(System.Guid Id, bool refresh = false, ClubCloud_Setting settings = null)
        {
            if (settings != null)
            {
                ValidateSettings(ref settings);
            }

            ClubCloud_Address    entity = null;
            ClubCloud_Vereniging result = null;

            using (new SPMonitoredScope("Addressen GetVerenigingForAddressById"))
            {
                try
                {
                    entity = beheerModel.ClubCloud_Addressen.Find(Id);
                    if (entity != null && entity.ClubCloud_Vereniging == null)
                    {
                        beheerModel.Entry(entity).Reference(e => e.ClubCloud_Vereniging).Load();
                    }

                    if (entity != null)
                    {
                        result = entity.ClubCloud_Vereniging;
                    }

                    if (result == null || refresh)
                    {
                        result = GetVerenigingForAddressById(settings.Id.ToString(), Id, refresh, settings);
                    }

                    if (result != null)
                    {
                        return(result);
                    }
                }
                catch (Exception ex)
                {
                    Logger.WriteLog(Logger.Category.Unexpected, ex.Source, ex.Message);
                }
                finally
                {
                    if (entity != null)
                    {
                        try { beheerModel.ObjectContext.Detach(entity); } catch {}
                    }
                    if (result != null)
                    {
                        try { beheerModel.ObjectContext.Detach(result); } catch {}
                    }
                }
            }

            return(new ClubCloud_Vereniging());
        }
예제 #4
0
 protected void lst_verenigingen_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (Settings != null)
     {
         Guid Id = Guid.Parse(lst_verenigingen.SelectedDataKey.Value.ToString());
         ClubCloud_Vereniging vereniging = Client.GetVerenigingById(Id, false, Settings);
         fvw_vereniging.DataSource = new List <ClubCloud_Vereniging> {
             vereniging
         };
         fvw_vereniging.DataBind();
     }
 }
예제 #5
0
        public ClubCloud_Vereniging GetVerenigingByLocation(string bondsnummer, double Latitude, double Longitude, bool refresh = false)
        {
            ClubCloud_Vereniging vereniging = new ClubCloud_Vereniging();

            if (SPContext.Current != null && SPContext.Current.Web != null)
            {
                ClubCloudServiceClient client = new ClubCloudServiceClient(SPServiceContext.Current);
                vereniging = client.GetVerenigingByLocation(bondsnummer, Latitude, Longitude, refresh);
            }

            return(vereniging);
        }
예제 #6
0
        public ClubCloud_Vereniging GetVerenigingByNummer(string bondsnummer, string verenigingNummer, bool refresh = false)
        {
            ClubCloud_Vereniging vereniging = new ClubCloud_Vereniging();

            if (SPContext.Current != null && SPContext.Current.Web != null)
            {
                ClubCloudServiceClient client = new ClubCloudServiceClient(SPServiceContext.Current);
                vereniging = client.GetVerenigingByNummer(bondsnummer, verenigingNummer, refresh);
            }

            return(vereniging);
        }
예제 #7
0
        public async Task <Vereniging> GetVerenigingByNummerAsync(string verenigingNummer)
        {
            Vereniging vereniging = new Vereniging {
                Id = Guid.NewGuid()
            };

            ClubCloud_Vereniging ccVereniging = await client.GetVerenigingByNummerAsync("00000000", verenigingNummer, false);

            vereniging = new Vereniging {
                Id = ccVereniging.Id, Naam = ccVereniging.Naam, Nummer = ccVereniging.Nummer, AccommodatieId = ccVereniging.AccommodatieId.Value
            };
            return(vereniging);
        }
예제 #8
0
        public ClubCloud_Vereniging GetVerenigingById(string bondsnummer, Guid verenigingId, bool refresh = false)
        {
            ClubCloud_Vereniging vereniging = new ClubCloud_Vereniging();

            if (SPContext.Current != null && SPContext.Current.Web != null)
            {
                ClubCloudServiceClient client = new ClubCloudServiceClient(SPServiceContext.Current);
                vereniging = client.GetVerenigingById(verenigingId, refresh, new ClubCloud_Setting {
                    Id = int.Parse(bondsnummer), VerenigingId = verenigingId
                });
            }

            return(vereniging);
        }
예제 #9
0
        protected void ButtonGebruikers_Click(object sender, EventArgs e)
        {
            // Validate
            this.Validate();

            if (!this.IsValid)
            {
                return;
            }

            // We are valid
            // Register the database
            using (SPLongOperation operation = new SPLongOperation(this))
            {
                operation.LeadingHTML  = HttpContext.GetGlobalResourceObject("ClubCloud.Service.ServiceAdminResources", "UsersSettingsCreateOperationLeadingHtml", CultureInfo.CurrentCulture).ToString();
                operation.TrailingHTML = HttpContext.GetGlobalResourceObject("ClubCloud.Service.ServiceAdminResources", "UsersSettingsCreateOperationTrailingHtml", CultureInfo.CurrentCulture).ToString();
                operation.Begin();

                string nummer = tbx_verenigingsnummer.Text;
                if (!string.IsNullOrWhiteSpace(nummer))
                {
                    int  pageNum     = 1;
                    bool moreRecords = true;
                    while (moreRecords)
                    {
                        try
                        {
                            moreRecords = ServiceClient.GebruikersUpdate("12073385", nummer, pageNum, true);
                            pageNum++;
                        }
                        catch (Exception)
                        {
                            moreRecords = true;
                        }
                    }

                    try
                    {
                        ClubCloud_Vereniging vereniging = ServiceClient.GetVerenigingByNummer("12073385", nummer, true);
                        ServiceClient.LidmaatschappenUpdate("12073385", vereniging.Id, true);
                    }
                    catch { }
                }

                operation.End(string.Format(CultureInfo.InvariantCulture, "/_admin/ClubCloud.Service/ManageMetaData.aspx?id={0}", SPHttpUtility.UrlKeyValueEncode(this.ServiceApplication.Id)));
            }
        }
예제 #10
0
        public bool SetVerenigingForAddressById(ClubCloud_Vereniging Vereniging, System.Guid Id, bool refresh = false, ClubCloud_Setting settings = null)
        {
            if (settings != null)
            {
                ValidateSettings(ref settings);
            }

            ClubCloud_Address entity = null;
            bool succes = false;

            using (new SPMonitoredScope("Addressen SetVerenigingForAddressById"))
            {
                try
                {
                    entity = beheerModel.ClubCloud_Addressen.Find(Id);

                    if (entity != null && entity.ClubCloud_Vereniging == null)
                    {
                        beheerModel.Entry(entity).Reference(e => e.ClubCloud_Vereniging).Load();
                    }

                    if (entity != null)
                    {
                        entity.ClubCloud_Vereniging = Vereniging;
                    }

                    beheerModel.SaveChanges();
                    succes = true;
                }
                catch (Exception ex)
                {
                    Logger.WriteLog(Logger.Category.Unexpected, ex.Source, ex.Message);
                }
                finally
                {
                    if (entity != null)
                    {
                        try { beheerModel.ObjectContext.Detach(entity); } catch {}
                    }
                }
            }

            return(succes);
        }
예제 #11
0
        protected override System.Collections.IEnumerable ExecuteSelect(System.Web.UI.DataSourceSelectArguments arguments)
        {
            if (this.WhereParameters.Count > 0)
            {
                DataSet  ds       = new DataSet("result");
                DataView dataView = new DataView();

                string number = this.WhereParameters[0].DefaultValue;
                ClubCloud_Vereniging vereniging = Client.GetVerenigingByNummer("00000000", number, false);

                if (vereniging != null)
                {
                    ObjectToTableConvert(vereniging, ref ds, "Verenigingen");

                    dataView = new DataView(ds.Tables["Verenigingen"]);
                }
                return((IEnumerable)dataView);
            }
            return(null);
        }
        public bool DeleteVereniging(ClubCloud_Vereniging entity)
        {
            using (new SPMonitoredScope("Verenigingen DeleteVereniging"))
            {
                if (SPContext.Current.Web.CurrentUser != null)
                {
                    int bondsnummer;
                    ClubCloud_Setting Settings = null;
                    if (int.TryParse(SPContext.Current.Web.CurrentUser.UserId.NameId, out bondsnummer))
                    {
                        Settings = Client.GetSettingById(bondsnummer);
                    }

                    if (Settings != null && Settings.VerenigingId != null)
                    {
                        return(Client.DeleteVereniging(entity, Settings));
                    }
                }
            }
            return(false);
        }
예제 #13
0
        internal override void SetPageData()
        {
            if (Settings != null) // && Settings.mijnknltb_allow)
            {
                ClubCloud_Vereniging vereniging = null;
                try
                {
                    vereniging = Client.GetVerenigingById(Settings.VerenigingId.Value, false, Settings);

                    vereniging.ClubCloud_Accommodatie = Client.GetAccommodatieById(vereniging.AccommodatieId.Value);
                    vereniging.ClubCloud_Lidmaatschap = new System.Collections.ObjectModel.ObservableCollection <ClubCloud_Lidmaatschap>(Client.GetLidmaatschapByGebruikerId(userId, vereniging.Id, Settings.GebruikerId.Value, false));
                }
                catch { }

                if (vereniging != null)
                {
                    try
                    {
                        //vereniging.ClubCloud_Lidmaatschap.First().VerenigingId
                        lst_verenigingen.DataSource = vereniging.ClubCloud_Lidmaatschap;
                        lst_verenigingen.DataBind();
                    }
                    catch { }

                    try
                    {
                        fvw_vereniging.DataSource = new List <ClubCloud_Vereniging> {
                            vereniging
                        };
                        fvw_vereniging.DataBind();
                    }
                    catch { }

                    try
                    {
                        fvw_accomodatie.DataSource = new List <ClubCloud_Accommodatie> {
                            vereniging.ClubCloud_Accommodatie
                        };
                        fvw_accomodatie.DataBind();
                    }
                    catch { }

                    /*
                     * try
                     * {
                     *  List<ClubCloud_Vereniging_BestuursLid> leden = Client.GetBestuurForVereniging(userId, verenigingen[0].VerenigingId, false);
                     *
                     *  if (leden != null && leden.Count > 0)
                     *  {
                     *      //Verenigingsbestuur
                     *      List<ClubCloud_Vereniging_BestuursLid> Verenigingsbestuur = leden.Where(l => l.Orgaan.Equals("Verenigingsbestuur", StringComparison.OrdinalIgnoreCase) == true).OrderBy(b => b.VolledigeNaam).ToList();
                     *
                     *      //Ledenadministratie
                     *      List<ClubCloud_Vereniging_BestuursLid> Ledenadministratie = leden.Where(l => l.Functie.Contains("Ledenadministratie") == true).OrderBy(b => b.VolledigeNaam).ToList();
                     *
                     *      //VCL
                     *      List<ClubCloud_Vereniging_BestuursLid> VCL = leden.Where(l => l.Functie.Contains("VCL") == true).OrderBy(b => b.VolledigeNaam).ToList();
                     *
                     *      //Wedstrijdleider
                     *      List<ClubCloud_Vereniging_BestuursLid> Wedstrijdleider = leden.Where(l => l.Functie.Contains("Wedstrijdleider") == true).OrderBy(b => b.VolledigeNaam).ToList();
                     *
                     *      //Verenigingstennisleraar
                     *      List<ClubCloud_Vereniging_BestuursLid> Verenigingstennisleraar = leden.Where(l => l.Orgaan.Equals("Verenigingstennisleraar", StringComparison.OrdinalIgnoreCase) == true).OrderBy(b => b.VolledigeNaam).ToList();
                     *
                     *      //Verenigingsscheidsrechter
                     *      List<ClubCloud_Vereniging_BestuursLid> Verenigingsscheidsrechter = leden.Where(l => l.Orgaan.Equals("Verenigingsscheidsrechter", StringComparison.OrdinalIgnoreCase) == true).OrderBy(b => b.VolledigeNaam).ToList();
                     *  }
                     *
                     *  foreach (ClubCloud_Vereniging_BestuursLid lid in leden.Where(l => l.Functie.Equals("Functionaris Uitslagengedelegeerde", StringComparison.OrdinalIgnoreCase) == false))
                     *  {
                     *      string VolledigeNaam = lid.VolledigeNaam;
                     *  }
                     * }
                     * catch { }
                     */
                }
            }
            else
            {
                pnl_authorize.Visible = true;
            }
        }
예제 #14
0
        protected void wzd_aanmelden_FinishButtonClick(object sender, WizardNavigationEventArgs e)
        {
            //using (SPLongOperation operation = new SPLongOperation(this.Page))
            //{
            //    operation.Begin();

            using (new SPMonitoredScope("Mailing SendMail"))
            {
                try
                {
                    XDocument xmlInputData = new XDocument(new XElement("Properties"));

                    XElement elements = new XElement("Elements",
                                                     new object[] {
                        new XElement("HEADER"),
                        new XElement("FEATURED_AREA"),
                        new XElement("VERENIGING"),
                        new XElement("GEBRUIKER"),
                        new XElement("OPMERKINGEN"),
                        new XElement("BOTTOM_CALL_TO_ACTION"),
                        new XElement("FOOTER")
                    });
                    xmlInputData.Root.Add(elements);

                    ClubCloud_Vereniging vereniging = new ClubCloud_Vereniging();

                    string verenigingsnummer = tbx_verenigingsnummer.Text;

                    string number = string.Empty;
                    int    parsed = 0;

                    if (verenigingsnummer.IndexOf('-') > 0)
                    {
                        number = verenigingsnummer.Split('-')[0].Trim();
                    }
                    else
                    {
                        number = verenigingsnummer;
                    }

                    if (int.TryParse(number, out parsed))
                    {
                        try
                        {
                            vereniging = Client.GetVerenigingByNummer("00000000", parsed.ToString(), false);
                        }
                        catch (Exception ex)
                        {
                            Logger.WriteLog(Logger.Category.Unexpected, ex.Source, ex.Message);
                        }
                    }

                    if (vereniging == null)
                    {
                        vereniging = new ClubCloud_Vereniging();
                    }

                    if (vereniging.Nummer != number)
                    {
                        vereniging.Nummer = number;
                    }

                    TextBox vereniging_naam = (TextBox)fvw_vereniging.FindControl("Naam");
                    string  verenigingnaam  = vereniging_naam.Text;
                    if (vereniging.Naam != vereniging_naam.Text && !string.IsNullOrWhiteSpace(vereniging_naam.Text))
                    {
                        vereniging.Naam = vereniging_naam.Text;
                    }

                    TextBox vereniging_KvKNummer = (TextBox)fvw_vereniging.FindControl("KvKNummer");
                    string  verenigingkvknummer  = vereniging_KvKNummer.Text;
                    if (vereniging.KvKnummer != vereniging_KvKNummer.Text && !string.IsNullOrWhiteSpace(vereniging_KvKNummer.Text))
                    {
                        vereniging.KvKnummer = vereniging_KvKNummer.Text;
                    }

                    TextBox vereniging_KvKPlaats = (TextBox)fvw_vereniging.FindControl("KvKPlaats");
                    string  verenigingkvkplaats  = vereniging_KvKPlaats.Text;
                    if (vereniging.KvKplaats != vereniging_KvKPlaats.Text && !string.IsNullOrWhiteSpace(vereniging_KvKPlaats.Text))
                    {
                        vereniging.KvKplaats = vereniging_KvKPlaats.Text;
                    }

                    TextBox vereniging_BankNummer = (TextBox)fvw_vereniging.FindControl("BankNummer");
                    string  verenigingbanknummer  = vereniging_BankNummer.Text;
                    if (vereniging.BankNummer != vereniging_BankNummer.Text && !string.IsNullOrWhiteSpace(vereniging_BankNummer.Text))
                    {
                        vereniging.BankNummer = vereniging_BankNummer.Text;
                    }

                    TextBox vereniging_BankIban = (TextBox)fvw_vereniging.FindControl("BankIban");
                    string  verenigingbankiban  = vereniging_BankIban.Text;
                    if (vereniging.BankIban != vereniging_BankIban.Text && !string.IsNullOrWhiteSpace(vereniging_BankIban.Text))
                    {
                        vereniging.BankIban = vereniging_BankIban.Text;
                    }

                    TextBox vereniging_BankPlaats = (TextBox)fvw_vereniging.FindControl("BankPlaats");
                    string  verenigingbankplaats  = vereniging_BankPlaats.Text;
                    if (vereniging.BankPlaats != vereniging_BankPlaats.Text && !string.IsNullOrWhiteSpace(vereniging_BankPlaats.Text))
                    {
                        vereniging.BankPlaats = vereniging_BankPlaats.Text;
                    }

                    TextBox vereniging_TelefoonOverdag = (TextBox)fvw_vereniging.FindControl("TelefoonOverdag");
                    string  verenigingtelefoonoverdag  = vereniging_TelefoonOverdag.Text;
                    if (vereniging.TelefoonOverdag != vereniging_TelefoonOverdag.Text && !string.IsNullOrWhiteSpace(vereniging_TelefoonOverdag.Text))
                    {
                        vereniging.TelefoonOverdag = vereniging_TelefoonOverdag.Text;
                    }

                    TextBox vereniging_TelefoonAvond = (TextBox)fvw_vereniging.FindControl("TelefoonAvond");
                    string  verenigingtelefoonavond  = vereniging_TelefoonAvond.Text;
                    if (vereniging.TelefoonAvond != vereniging_TelefoonAvond.Text && !string.IsNullOrWhiteSpace(vereniging_TelefoonAvond.Text))
                    {
                        vereniging.TelefoonAvond = vereniging_TelefoonAvond.Text;
                    }

                    TextBox vereniging_Email = (TextBox)fvw_vereniging.FindControl("Email");
                    string  verenigingemail  = vereniging_Email.Text;
                    if (vereniging.EmailKNLTB != vereniging_Email.Text && !string.IsNullOrWhiteSpace(vereniging_Email.Text))
                    {
                        vereniging.EmailKNLTB = vereniging_Email.Text;
                    }

                    xmlInputData.Root.Add(vereniging.ToXElement <ClubCloud_Vereniging>());

                    ClubCloud_Gebruiker gebruiker = new ClubCloud_Gebruiker();

                    TextBox persoon_knltb = (TextBox)fvw_persoon.FindControl("KNLTBNummer");
                    string  persoonknltb  = persoon_knltb.Text;

                    string lm = string.Empty;
                    parsed = 0;

                    if (int.TryParse(persoonknltb, out parsed))
                    {
                        lm = "luckyme";
                    }

                    /*
                     * {
                     *  try
                     *  {
                     *      gebruiker = Client.GetGebruikerByNummer("00000000", vereniging.Id, parsed.ToString(), false);
                     *  }
                     *  catch (Exception ex)
                     *  {
                     *      Logger.WriteLog(Logger.Category.Unexpected, ex.Source, ex.Message);
                     *  }
                     * }
                     */

                    if (gebruiker == null)
                    {
                        gebruiker = new ClubCloud_Gebruiker();
                    }

                    if (gebruiker.Bondsnummer != parsed.ToString())
                    {
                        gebruiker.Bondsnummer = parsed.ToString();
                    }

                    TextBox persoon_naam = (TextBox)fvw_persoon.FindControl("Naam");
                    string  persoonnaam  = persoon_naam.Text;
                    if (gebruiker.Volledigenaam != persoon_naam.Text && !string.IsNullOrWhiteSpace(persoon_naam.Text))
                    {
                        gebruiker.Volledigenaam = persoon_naam.Text;
                    }

                    TextBox persoon_TelefoonOverdag = (TextBox)fvw_persoon.FindControl("TelefoonOverdag");
                    string  persoontelefoonoverdag  = persoon_TelefoonOverdag.Text;
                    if (gebruiker.TelefoonOverdag != persoon_TelefoonOverdag.Text && !string.IsNullOrWhiteSpace(persoon_TelefoonOverdag.Text))
                    {
                        gebruiker.TelefoonOverdag = persoon_TelefoonOverdag.Text;
                    }

                    TextBox persoon_TelefoonAvond = (TextBox)fvw_persoon.FindControl("TelefoonAvond");
                    string  persoontelefoonavond  = persoon_TelefoonAvond.Text;
                    if (gebruiker.TelefoonAvond != persoon_TelefoonAvond.Text && !string.IsNullOrWhiteSpace(persoon_TelefoonAvond.Text))
                    {
                        gebruiker.TelefoonAvond = persoon_TelefoonAvond.Text;
                    }

                    TextBox persoon_Email = (TextBox)fvw_persoon.FindControl("Email");
                    string  persoonemail  = persoon_Email.Text;
                    if (gebruiker.EmailKNLTB != persoon_Email.Text && !string.IsNullOrWhiteSpace(persoon_Email.Text))
                    {
                        gebruiker.EmailKNLTB = persoon_Email.Text;
                    }

                    xmlInputData.Root.Add(gebruiker.ToXElement <ClubCloud_Gebruiker>());

                    XElement aanmelden = new XElement("Aanmelden",
                                                      new object[] {
                        new XElement("Opmerkingen", opmerkingen.Text),
                        new XElement("Akkoord", akkoord.Checked),
                        new XElement("Datum", DateTime.Now.ToString()),
                        new XElement("IP", GetIPAddress())
                    });
                    xmlInputData.Root.Add(aanmelden);

                    EmailTracking tracking = new EmailTracking
                    {
                        CampaignName    = "Aanmelden",
                        CampaignSource  = "WebSite",
                        ClientId        = vereniging.Id,
                        RecipientId     = vereniging.Nummer,
                        TrackingId      = "UA-9934149-20",
                        CampagneContent = "aanmelden",
                        CampagneMedium  = "email",
                        CampagneTerm    = "aanmelden"
                    };

                    xmlInputData.Root.Add(tracking.ToXElement <EmailTracking>());

                    XElement content = new XElement("Content",
                                                    new XElement("Subject", string.Format("Aanmelden bij ClubCloud voor {0} ({1})", vereniging.Naam, vereniging.Nummer)));
                    xmlInputData.Root.Add(content);

                    SPSecurity.RunWithElevatedPrivileges(delegate()
                    {
                        try
                        {
                            using (SPSite currentSite = new SPSite(SPContext.Current.Site.ID, SPUrlZone.Internet))
                            {
                                using (SPWeb web = currentSite.OpenWeb(SPContext.Current.Web.ID))
                                {
                                    SPDocumentLibrary SiteAssets = null;
                                    SPDocumentLibrary SitePages  = null;
                                    SPFolder Templates           = null;
                                    SPFolder Online       = null;
                                    SPFile Aanmelden      = null;
                                    SPFile Webversion     = null;
                                    SPItem WebversionItem = null;

                                    XmlReader template = null;

                                    SPList assets = web.Lists.TryGetList("SiteAssets");

                                    if (assets == null)
                                    {
                                        assets = web.Lists.TryGetList("Siteactiva");
                                    }

                                    if (assets != null)
                                    {
                                        SiteAssets = (SPDocumentLibrary)assets;
                                    }

                                    if (SiteAssets != null)
                                    {
                                        Templates = SiteAssets.RootFolder.SubFolders["Templates"];
                                    }

                                    SPList pages = web.Lists.TryGetList("SitePages");

                                    if (pages == null)
                                    {
                                        pages = web.Lists.TryGetList("Sitepagina's");
                                    }

                                    if (pages != null)
                                    {
                                        SitePages = (SPDocumentLibrary)pages;
                                    }

                                    if (SitePages != null)
                                    {
                                        Online = SitePages.RootFolder.SubFolders["Online"];
                                    }

                                    if (Templates != null && Templates.Exists)
                                    {
                                        Aanmelden = Templates.Files["aanmelden.xsl"];
                                    }

                                    if (Aanmelden != null && Aanmelden.Exists)
                                    {
                                        template = XmlReader.Create(Aanmelden.OpenBinaryStream());
                                    }

                                    if (template == null)
                                    {
                                        throw new FileNotFoundException("Template not Found", Aanmelden.Url);
                                    }

                                    string body = GenerateEmailBody(template, xmlInputData);

                                    web.AllowUnsafeUpdates = true;

                                    if (Online != null && Online.Exists)
                                    {
                                        Webversion              = Online.Files.Add(Guid.NewGuid() + ".aspx", System.Text.Encoding.UTF8.GetBytes(body), true);
                                        WebversionItem          = pages.GetItemByUniqueId(Webversion.UniqueId);
                                        WebversionItem["Title"] = string.Format("Aanmelden bij ClubCloud voor {0} ({1})", vereniging.Naam, vereniging.Nummer);
                                        WebversionItem.Update();
                                    }
                                    if (Webversion != null && Webversion.Exists)
                                    {
                                        XElement online = new XElement("Online",
                                                                       new object[] {
                                            new XElement("WebVersion", string.Format("{0}/{1}", currentSite.Url, Webversion.Url))
                                        });
                                        xmlInputData.Root.Add(online);
                                    }

                                    if (Aanmelden != null && Aanmelden.Exists)
                                    {
                                        template = XmlReader.Create(Aanmelden.OpenBinaryStream());
                                    }

                                    body = GenerateEmailBody(template, xmlInputData);

                                    web.AllowUnsafeUpdates = false;

                                    MailMessage message = Email.CreateMailMessage(body);

                                    MailAddress tovereniging = new MailAddress(vereniging.EmailKNLTB, vereniging.Naam, Encoding.UTF8);
                                    message.To.Add(tovereniging);

                                    MailAddress topersoon = new MailAddress(gebruiker.EmailKNLTB, gebruiker.Volledigenaam, Encoding.UTF8);
                                    message.To.Add(topersoon);

                                    message.CC.Add(new MailAddress("*****@*****.**", "Aanmelden bij ClubCloud"));
                                    message.From     = new MailAddress("*****@*****.**", "Aanmelden bij ClubCloud");
                                    message.Subject  = string.Format("Aanmelden bij ClubCloud voor {0}({1})", vereniging.Naam, vereniging.Nummer);
                                    message.Priority = MailPriority.Normal;
                                    message.ReplyToList.Add(new MailAddress("*****@*****.**", "Aanmelden bij ClubCloud"));
                                    message.Sender = new MailAddress("*****@*****.**", "Aanmelden bij ClubCloud");

                                    SmtpClient client     = new SmtpClient(ZimbraConfiguration.Server.SendMailHost, zimbraconfiguration.Server.SendMailPort);
                                    client.Credentials    = new System.Net.NetworkCredential(ZimbraConfiguration.Server.SendMailUserName, ZimbraConfiguration.Server.SendMailPassword);
                                    client.DeliveryMethod = SmtpDeliveryMethod.Network;
                                    message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure | DeliveryNotificationOptions.OnSuccess | DeliveryNotificationOptions.Delay;
                                    Email.Send(message, client);
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            Logger.WriteLog(Logger.Category.Unexpected, ex.Source, ex.Message);
                        }
                    });
                }
                catch (Exception ex)
                {
                    Logger.WriteLog(Logger.Category.Unexpected, ex.Source, ex.Message);
                }
            }
            //operation.End("bedankt.aspx");
            //}
        }
예제 #15
0
 protected void aantal_TextChanged(object sender, EventArgs e)
 {
     ClubCloud_Vereniging vereniging = Client.GetVerenigingByNummer("0000000", "82503", false);
     ClubCloud_Afhang     settings   = Client.GetVerenigingAfhangSettings("00000000", vereniging.Id, false);
     //Client.VerenigingenUpdate("12073385", true);
 }
        public ClubCloud_Vereniging SelectVereniging([QueryString] Guid?Id)  //(string Id)
        {
            ClubCloud_Vereniging entity = null;

            using (new SPMonitoredScope("Verenigingen SelectVereniging"))
            {
                if (SPContext.Current.Web.CurrentUser != null)
                {
                    int bondsnummer;
                    ClubCloud_Setting Settings = null;
                    if (int.TryParse(SPContext.Current.Web.CurrentUser.UserId.NameId, out bondsnummer))
                    {
                        Settings = Client.GetSettingById(bondsnummer);
                    }

                    if (Settings != null && Settings.VerenigingId != null)
                    {
                        Settings.ClubCloud_Vereniging = Client.GetVerenigingById(Settings.VerenigingId.Value, false, Settings);

                        if (Settings.ClubCloud_Vereniging != null)
                        {
                            if (Id == null)
                            {
                                Guid queryId = Guid.Empty;
                                foreach (Parameter where in WhereParameters)
                                {
                                    if (where.Name == "Id")
                                    {
                                        if (Guid.TryParse(where.DefaultValue, out queryId))
                                        {
                                            break;
                                        }
                                    }
                                }

                                Id = queryId;
                            }

                            if (Id == Guid.Empty)
                            {
                                Id = Settings.VerenigingId.Value;
                            }

                            entity = Client.GetVerenigingById(Id.Value, false, Settings);

                            if (entity != null || entity.Id != Guid.Empty)
                            {
                                entity.ClubCloud_Functionaris      = new System.Collections.ObjectModel.ObservableCollection <ClubCloud_Functionaris>(Client.GetFunctionarissenForVerenigingById(Id.Value, false, Settings));
                                entity.ClubCloud_Lidmaatschap      = new System.Collections.ObjectModel.ObservableCollection <ClubCloud_Lidmaatschap>(Client.GetLidmaatschappenForVerenigingById(Id.Value, false, Settings));
                                entity.ClubCloud_Bestuursorgaan    = new System.Collections.ObjectModel.ObservableCollection <ClubCloud_Bestuursorgaan>(Client.GetBestuursorganenForVerenigingById(Id.Value, false, Settings));
                                entity.ClubCloud_District          = Client.GetDistrictForVerenigingById(Id.Value, false, Settings);
                                entity.ClubCloud_Rechtsvorm        = Client.GetRechtsvormForVerenigingById(Id.Value, false, Settings);
                                entity.ClubCloud_Accommodatie      = Client.GetAccommodatieForVerenigingById(Id.Value, false, Settings);
                                entity.ClubCloud_Address           = new System.Collections.ObjectModel.ObservableCollection <ClubCloud_Address>(Client.GetAddressenForVerenigingById(Id.Value, false, Settings));
                                entity.ClubCloud_Regio             = Client.GetRegioForVerenigingById(Id.Value, false, Settings);
                                entity.ClubCloud_Afhang            = new System.Collections.ObjectModel.ObservableCollection <ClubCloud_Afhang>(Client.GetAfhangenForVerenigingById(Id.Value, false, Settings));
                                entity.ClubCloud_Sponsor           = new System.Collections.ObjectModel.ObservableCollection <ClubCloud_Sponsor>(Client.GetSponsorenForVerenigingById(Id.Value, false, Settings));
                                entity.ClubCloud_Baanschema        = new System.Collections.ObjectModel.ObservableCollection <ClubCloud_Baanschema>(Client.GetBaanschemasForVerenigingById(Id.Value, false, Settings));
                                entity.ClubCloud_Lidmaatschapsoort = new System.Collections.ObjectModel.ObservableCollection <ClubCloud_Lidmaatschapsoort>(Client.GetLidmaatschapsoortenForVerenigingById(Id.Value, false, Settings));
                            }
                        }
                    }
                }
            }

            return(entity);
        }
예제 #17
0
        private MailMessage BuidMailMessage(ClubCloud_Vereniging vereniging)
        {
            MailMessage message = null;

            XDocument xmlInputData = new XDocument(new XElement("Properties"));

            XElement elements = new XElement("Elements",
                                             new object[] {
                new XElement("HEADER"),
                new XElement("FEATURED_AREA"),
                new XElement("FULL_WIDTH_COLUMN"),
                new XElement("INTRO"),
                new XElement("HALF_COLUMN_FEATURES"),
                new XElement("HALF_COLUMN_TOP_IMAGE"),
                new XElement("ONE_THIRD_TWO_THIRD_COLUMN_LEFT_IMAGE"),
                new XElement("TWO_THIRD_ONE_THIRD_COLUMN_RIGHT_IMAGE"),
                new XElement("CENTRECOURT"),
                new XElement("BOTTOM_CALL_TO_ACTION"),
                new XElement("FOOTER")
            });

            xmlInputData.Root.Add(elements);

            xmlInputData.Root.Add(vereniging.ToXElement <ClubCloud_Vereniging>());

            EmailTracking track = new EmailTracking
            {
                CampaignName    = "Introductie",
                CampaignSource  = "Nieuwsbrief",
                CampagneMedium  = "email",
                ClientId        = vereniging.Id,
                RecipientId     = vereniging.Nummer,
                TrackingId      = "UA-9934149-20",
                CampagneContent = "Introductie",
                CampagneTerm    = "Introductie"
            };

            xmlInputData.Root.Add(track.ToXElement <EmailTracking>());

            XElement content = new XElement("Content",
                                            new XElement("Subject", string.Format("ClubCloud : De slimme keuze voor {0}", vereniging.Naam)));

            xmlInputData.Root.Add(content);

            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                try
                {
                    using (SPSite currentSite = new SPSite(SPContext.Current.Site.ID, SPUrlZone.Internet))
                    {
                        using (SPWeb web = currentSite.OpenWeb(SPContext.Current.Web.ID))
                        {
                            SPDocumentLibrary SiteAssets = null;
                            SPDocumentLibrary SitePages  = null;
                            SPFolder Templates           = null;
                            SPFolder Online       = null;
                            SPFile Aanmelden      = null;
                            SPFile Webversion     = null;
                            SPItem WebversionItem = null;

                            XmlReader template = null;

                            SPList assets = web.Lists.TryGetList("SiteAssets");

                            if (assets == null)
                            {
                                assets = web.Lists.TryGetList("Siteactiva");
                            }

                            if (assets != null)
                            {
                                SiteAssets = (SPDocumentLibrary)assets;
                            }

                            if (SiteAssets != null)
                            {
                                Templates = SiteAssets.RootFolder.SubFolders["Templates"];
                            }

                            SPList pages = web.Lists.TryGetList("SitePages");

                            if (pages == null)
                            {
                                pages = web.Lists.TryGetList("Sitepagina's");
                            }

                            SPQuery query              = new SPQuery();
                            query.Query                = string.Format("<Where><Eq><FieldRef Name=\"Title\" /><Value Type=\"Text\">ClubCloud : De slimme keuze voor {0}</Value></Eq></Where>", vereniging.Naam);
                            query.RowLimit             = 1;
                            query.ViewFields           = @"<FieldRef Name=""Title"" />";
                            query.ViewAttributes       = @"Scope=""Recursive""";
                            SPListItemCollection items = pages.GetItems(query);

                            if (items.Count > 0)
                            {
                                throw new SPDuplicateObjectException("Club already mailed", new Exception("Club already mailed"));
                            }

                            if (pages != null)
                            {
                                SitePages = (SPDocumentLibrary)pages;
                            }

                            if (SitePages != null)
                            {
                                Online = SitePages.RootFolder.SubFolders["Online"];
                            }

                            if (Templates != null && Templates.Exists)
                            {
                                Aanmelden = Templates.Files["template.xsl"];
                            }

                            if (Aanmelden != null && Aanmelden.Exists)
                            {
                                template = XmlReader.Create(Aanmelden.OpenBinaryStream());
                            }

                            if (template == null)
                            {
                                throw new FileNotFoundException("Template not Found", Aanmelden.Url);
                            }

                            string body = GenerateEmailBody(template, xmlInputData);

                            web.AllowUnsafeUpdates = true;

                            if (Online != null && Online.Exists)
                            {
                                Webversion              = Online.Files.Add(Guid.NewGuid() + ".aspx", System.Text.Encoding.UTF8.GetBytes(body), true);
                                WebversionItem          = pages.GetItemByUniqueId(Webversion.UniqueId);
                                WebversionItem["Title"] = string.Format("ClubCloud : De slimme keuze voor {0}", vereniging.Naam);
                                WebversionItem.Update();
                            }

                            if (Webversion != null && Webversion.Exists)
                            {
                                XElement online = new XElement("Online",
                                                               new object[] {
                                    new XElement("WebVersion", string.Format("{0}/{1}", currentSite.Url, Webversion.Url))
                                });
                                xmlInputData.Root.Add(online);
                            }

                            if (Aanmelden != null && Aanmelden.Exists)
                            {
                                template = XmlReader.Create(Aanmelden.OpenBinaryStream());
                            }

                            body = GenerateEmailBody(template, xmlInputData);

                            web.AllowUnsafeUpdates = false;

                            message = Email.CreateMailMessage(body);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Logger.WriteLog(Logger.Category.Unexpected, ex.Source, ex.Message);
                    message = null;
                }
            });

            return(message);
        }
        /*
         * private ZimbraServer _zimbra;
         *
         * internal ZimbraServer Zimbra
         * {
         *  get
         *  {
         *      if(this._zimbra == null)
         *      {
         *          this._zimbra = new ZimbraServer("mail.clubcloud.nl");
         *      }
         *
         *      return this._zimbra;
         *  }
         * }
         */

        /// <summary>
        ///
        /// </summary>
        /// <param name="gebruiker"></param>
        /// <param name="settings"></param>
        /// <returns></returns>
        private async Task <bool> CreateOrUpdateMembershipGebruiker(ClubCloud_Gebruiker gebruiker, ClubCloud_Setting settings = null)
        {
            try
            {
                if (settings == null)
                {
                    settings = GetClubCloudSettings(gebruiker.Bondsnummer);// beheerModel.ClubCloud_Settings.SingleOrDefault(g => g.GebruikerId == gebruiker.Id);
                }
                //ClubCloud_Setting updatesettings = beheerModel.ClubCloud_Settings.SingleOrDefault(g => g.GebruikerId == gebruiker.Id);
                if (settings != null)// && updatesettings.Id != null)
                {
                    ZimbraMembershipUser zuser = await ZimbraMembershipProvider.GetZimbraUserAsync(gebruiker.Bondsnummer, false);

                    MembershipCreateStatus status = MembershipCreateStatus.Success;

                    if (zuser == null)
                    {
                        string nummer = "00000";
                        ClubCloud_Vereniging vereniging = null;
                        try
                        {
                            vereniging = GetVerenigingById(gebruiker.Bondsnummer, gebruiker.VerenigingId.Value, false);
                        }
                        catch { }

                        if (vereniging != null)
                        {
                            nummer = vereniging.Nummer;
                        }

                        string password = gebruiker.Achternaam[0] + gebruiker.Bondsnummer + '!';
                        string email    = string.IsNullOrEmpty(gebruiker.EmailKNLTB) ? gebruiker.Bondsnummer + "@clubcloud.nl" : gebruiker.EmailKNLTB;

                        Tuple <MembershipCreateStatus, MembershipUser> result = await ZimbraMembershipProvider.CreateUserAsync(gebruiker.Bondsnummer + "@clubcloud.nl", password, email, "Wat uw verenigingsnummer?", nummer, true, null);

                        if (result.Item1 == MembershipCreateStatus.Success)
                        {
                            status = result.Item1;
                            zuser  = result.Item2 as ZimbraMembershipUser;
                        }
                    }

                    if (status == MembershipCreateStatus.Success)
                    {
                        List <ClubCloud_Address> adressen = GetAddressenForGebruikerById(gebruiker.Id, false, settings);

                        ClubCloud_Address home = new ClubCloud_Address();
                        ClubCloud_Address post = new ClubCloud_Address();
                        if (adressen != null && adressen.Count > 0)
                        {
                            home = adressen.First();
                            post = adressen.Last();
                        }
                        ClubCloud_Nationaliteit nationaliteit = GetNationaliteitById(gebruiker.Bondsnummer, gebruiker.NationaliteitId.Value, false, settings);
                        ClubCloud_Vereniging    vereniging    = GetVerenigingById(gebruiker.Bondsnummer, gebruiker.VerenigingId.Value, false);
                        ClubCloud_District      district      = GetDistrictById(gebruiker.Bondsnummer, vereniging.DistrictId.Value, false, settings);

                        if (gebruiker != null)
                        {
                            zuser.cn             = gebruiker.Volledigenaam;
                            zuser.sn             = gebruiker.Achternaam;
                            zuser.displayName    = gebruiker.Volledigenaam;
                            zuser.employeeNumber = gebruiker.Id.ToString();
                            zuser.givenName      = gebruiker.Voornamen;
                            zuser.initials       = gebruiker.Voorletters;
                            zuser.zimbraPrefMailForwardingAddress = gebruiker.EmailKNLTB;

                            if (!string.IsNullOrWhiteSpace(gebruiker.TelefoonOverdag))
                            {
                                zuser.telephoneNumber = Regex.Replace(gebruiker.TelefoonOverdag, @"[^A-Za-z0-9+ -]+", "");
                            }
                            if (!string.IsNullOrWhiteSpace(gebruiker.TelefoonAvond))
                            {
                                zuser.homePhone = Regex.Replace(gebruiker.TelefoonAvond, @"[^A-Za-z0-9+ -]+", "");
                            }
                            if (!string.IsNullOrWhiteSpace(gebruiker.Mobiel))
                            {
                                zuser.mobile = Regex.Replace(gebruiker.Mobiel, @"[^A-Za-z0-9+ -]+", "");
                            }
                        }

                        if (nationaliteit != null)
                        {
                            zuser.co = nationaliteit.Naam;
                        }

                        if (vereniging != null)
                        {
                            zuser.o       = vereniging.Nummer;
                            zuser.company = vereniging.Nummer;
                        }

                        if (district != null)
                        {
                            zuser.departmentNumber = district.Naam;
                        }



                        if (home != null)
                        {
                            zuser.homePostalAddress = home.Straat + " " + home.Nummer + " " + home.Toevoeging + " " + Environment.NewLine + home.Postcode + "," + home.Stad + " " + Environment.NewLine + home.Gemeente + "," + home.Provincie;
                            zuser.l          = home.Stad;
                            zuser.postalCode = home.Postcode;
                            zuser.st         = home.Gemeente;
                            zuser.street     = home.Straat + " " + home.Nummer + " " + home.Toevoeging;
                        }

                        if (post != null)
                        {
                            zuser.postalAddress = post.Straat + " " + post.Nummer + " " + post.Toevoeging + " " + Environment.NewLine + post.Postcode + "," + post.Stad + " " + Environment.NewLine + post.Gemeente + "," + post.Provincie;
                        }
                    }

                    if (zuser != null && status == MembershipCreateStatus.Success)
                    {
                        await ZimbraMembershipProvider.UpdateZimbraUserAsync(zuser);
                    }
                }
                //}

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }