Ejemplo n.º 1
0
        public ClubCloud_Address SelectAddress([QueryString] Guid?Id)  //(string Id)
        {
            ClubCloud_Address entity = null;

            using (new SPMonitoredScope("Addressen SelectAddress"))
            {
                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)
                            {
                            }

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

                            if (entity != null || entity.Id != Guid.Empty)
                            {
                                entity.ClubCloud_Vereniging   = Client.GetVerenigingForAddressById(Id.Value, false, Settings);
                                entity.ClubCloud_Gebruiker    = Client.GetGebruikerForAddressById(Id.Value, false, Settings);
                                entity.ClubCloud_Regio        = Client.GetRegioForAddressById(Id.Value, false, Settings);
                                entity.ClubCloud_Accommodatie = Client.GetAccommodatieForAddressById(Id.Value, false, Settings);
                                entity.ClubCloud_Land         = Client.GetLandForAddressById(Id.Value, false, Settings);
                            }
                        }
                    }
                }
            }

            return(entity);
        }
Ejemplo n.º 2
0
        public bool DeleteAddress(ClubCloud_Address entity, ClubCloud_Setting settings = null)
        {
            if (settings != null)
            {
                ValidateSettings(ref settings);
            }

            return(DeleteAddressById(entity.Id, settings));
        }
Ejemplo n.º 3
0
        public ClubCloud_Accommodatie GetAccommodatieForAddressById(System.Guid Id, bool refresh = false, ClubCloud_Setting settings = null)
        {
            if (settings != null)
            {
                ValidateSettings(ref settings);
            }

            ClubCloud_Address      entity = null;
            ClubCloud_Accommodatie result = null;

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

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

                    if (result == null || refresh)
                    {
                        result = GetAccommodatieForAddressById(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_Accommodatie());
        }
Ejemplo n.º 4
0
        public ClubCloud_Regio GetRegioForAddress(ClubCloud_Address entity, bool refresh = false, ClubCloud_Setting settings = null)
        {
            if (settings != null)
            {
                ValidateSettings(ref settings);
            }

            ClubCloud_Regio result = null;

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

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

                    if (result == null || refresh && entity != null)
                    {
                        result = GetRegioForAddress(settings.Id.ToString(), entity, 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_Regio());
        }
Ejemplo n.º 5
0
        public bool SetRegioForAddressById(ClubCloud_Regio Regio, 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 SetRegioForAddressById"))
            {
                try
                {
                    entity = beheerModel.ClubCloud_Addressen.Find(Id);

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

                    if (entity != null)
                    {
                        entity.ClubCloud_Regio = Regio;
                    }

                    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);
        }
Ejemplo n.º 6
0
        public void UpdateAddress(ClubCloud_Address entity)
        {
            using (new SPMonitoredScope("Addressen UpdateAddress"))
            {
                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)
                    {
                        Client.SetAddress(entity, Settings);
                        this.OnDataSourceViewChanged(EventArgs.Empty);
                    }
                }
            }
        }
Ejemplo n.º 7
0
        public bool DeleteAddress(ClubCloud_Address entity)
        {
            using (new SPMonitoredScope("Addressen DeleteAddress"))
            {
                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.DeleteAddress(entity, Settings));
                    }
                }
            }
            return(false);
        }
Ejemplo n.º 8
0
        public ClubCloud_Address GetAddressById(System.Guid Id, bool refresh = false, ClubCloud_Setting settings = null)
        {
            if (settings != null)
            {
                ValidateSettings(ref settings);
            }

            ClubCloud_Address result = null;

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

                    if (result == null || refresh)
                    {
                        result = GetAddressById(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 (result != null)
                    {
                        try { beheerModel.ObjectContext.Detach(result); } catch {}
                    }
                }
            }

            return(new ClubCloud_Address());
        }
Ejemplo n.º 9
0
        public ClubCloud_Address SetAddress(ClubCloud_Address entity, ClubCloud_Setting settings = null)
        {
            if (settings != null)
            {
                ValidateSettings(ref settings);
            }

            ClubCloud_Address tobeupdated = null;

            using (new SPMonitoredScope("Addressen SetAddress"))
            {
                try
                {
                    entity = SetAddress(settings.Id.ToString(), entity, settings);

                    if (entity != null)
                    {
                        beheerModel.ClubCloud_Addressen.AddOrUpdate(entity);
                    }

                    beheerModel.SaveChanges();

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

            return(null);
        }
Ejemplo n.º 10
0
        public bool DeleteAddressById(System.Guid Id, ClubCloud_Setting settings = null)
        {
            if (settings != null)
            {
                ValidateSettings(ref settings);
            }

            bool succes = false;
            ClubCloud_Address tobedeleted = null;

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

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

            return(succes);
        }
        internal override void SetPageData()
        {
            if (Settings != null)//&& Settings.mijnknltb_allow)
            {
                ClubCloud_Gebruiker gebruiker = null;

                try
                {
                    gebruiker = Client.GetGebruikerByNummer(userId, Settings.VerenigingId.Value, userId, false);
                }
                catch { }

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

                        //gebruiker.ClubCloud_Lidmaatschap = Client.GetLidaamschapByGebruikerId(userId, gebruiker.VerenigingId.Value);
                        gebruiker.ClubCloud_Address = new System.Collections.ObjectModel.ObservableCollection <ClubCloud_Address>(Client.GetAddressByGebruikerId(userId, gebruiker.VerenigingId.Value, gebruiker.Id, false));
                    }
                    catch { }

                    try
                    {
                        fvw_persoon.DataSource = new List <ClubCloud_Gebruiker> {
                            gebruiker
                        };
                        fvw_persoon.DataBind();
                    }
                    catch (Exception ex)
                    {
                        lbl_result.Text += ex.Message + Environment.NewLine;
                    }

                    try
                    {
                        fvw_contact.DataSource = new List <ClubCloud_Gebruiker> {
                            gebruiker
                        };
                        fvw_contact.DataBind();
                    }
                    catch (Exception ex)
                    {
                        lbl_result.Text += ex.Message + Environment.NewLine;
                    }

                    try
                    {
                        ClubCloud_Address first = gebruiker.ClubCloud_Address.First();
                        //if (string.IsNullOrWhiteSpace(first.Naam)) first.Naam = "Bezoekadres";
                        fvw_adres.DataSource = new List <ClubCloud_Address> {
                            first
                        };
                        fvw_adres.DataBind();
                    }
                    catch (Exception ex)
                    {
                        lbl_result.Text += ex.Message + Environment.NewLine;
                    }

                    //TODO second fvw_post

                    /*
                     * try
                     * {
                     *  ClubCloud_Address last = gebruiker.ClubCloud_Address.Last();
                     *  if (string.IsNullOrWhiteSpace(last.Naam)) last.Naam = "Postadres";
                     *  fvw_adres.DataSource = new List<ClubCloud_Address> { last };
                     *  fvw_adres.DataBind();
                     * }
                     * catch (Exception ex)
                     * {
                     *  lbl_result.Text += ex.Message + Environment.NewLine;
                     * }
                     */

                    try
                    {
                        ClubCloud_Foto foto = Client.GetFotoForGebruikerById(gebruiker.Bondsnummer, gebruiker.Id, false, Settings);

                        fvw_afbeelding.DataSource = new List <ClubCloud_Foto> {
                            foto
                        };;
                        fvw_afbeelding.DataBind();

                        if (fvw_afbeelding.CurrentMode == FormViewMode.ReadOnly)
                        {
                            Image profielfoto = (Image)fvw_afbeelding.FindControl("profielfoto");
                            if (profielfoto != null)
                            {
                                string base64String = Convert.ToBase64String(foto.ContentData, 0, foto.ContentData.Length);
                                profielfoto.ImageUrl = "data:image/png;base64," + base64String;
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        lbl_result.Text += ex.Message + Environment.NewLine;
                    }


                    Label knltbid = (Label)fvw_persoon.FindControl("knltbid");
                    knltbid.Text = Settings.Id.ToString();
                }
            }
            else
            {
                pnl_authorize.Visible = true;
            }
        }
        /*
         * 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);
            }
        }