Beispiel #1
0
 private lm.Comol.Core.DomainModel.SubscriptionStatus GetSubscriptionStatus(liteSubscriptionInfo subscription)
 {
     if (subscription != null)
     {
         if (subscription.IdRole < 1)
         {
             return(DomainModel.SubscriptionStatus.none);
         }
         else if (subscription.Accepted && subscription.Enabled)
         {
             return(DomainModel.SubscriptionStatus.activemember);
         }
         else if (subscription.Accepted && !subscription.Enabled)
         {
             return(DomainModel.SubscriptionStatus.blocked);
         }
         else if (!subscription.Accepted && !subscription.Enabled)
         {
             return(DomainModel.SubscriptionStatus.waiting);
         }
         else
         {
             return(DomainModel.SubscriptionStatus.none);
         }
     }
     else
     {
         return(DomainModel.SubscriptionStatus.none);
     }
 }
Beispiel #2
0
        public lm.Comol.Core.DomainModel.DocTemplateVers.Domain.DTO.ServiceExport.DTO_Template FillDataIntoTemplate(Int32 idCommunity, Int32 idUser, long idPath, long idSubActivity, String basePath, String istanceName, ref CertificationError cError)
        {
            lm.Comol.Core.DomainModel.DocTemplateVers.Domain.DTO.ServiceExport.DTO_Template template = null;
            SubActivity subActivity = Service.GetSubActivity(idSubActivity);

            if (subActivity != null)
            {
                template = ServiceTemplates.TemplateGet(subActivity.IdCertificate, subActivity.IdCertificateVersion, basePath);
                if (template != null)
                {
                    //litePerson person = CurrentManager.GetLitePerson(idUser);
                    Person person = CurrentManager.GetPerson(idUser);

                    liteCommunity        community    = CurrentManager.GetLiteCommunity(idCommunity);
                    liteSubscriptionInfo subscription = CurrentManager.GetLiteSubscriptionInfo(idUser, idCommunity);
                    String organization = "";


                    if (community != null)
                    {
                        organization = CurrentManager.GetOrganizationName(community.IdOrganization);
                    }

                    List <String> pHolders = TemplateEduPathPlaceHolders.PlaceHolders().Values.Select(v => v).ToList();

                    pHolders.AddRange(lm.Comol.Core.DomainModel.Helpers.TemplateCommonPlaceHolders.PlaceHolders().Values.Select(v => v).ToList());
                    if (template.Modules != null && template.Modules.Where(m => m.IdModule == Service.ServiceModuleID()).Any() && subActivity != null)
                    {
                        // DEVO RIEmPIRE I PLACE HOLDERS !
                        List <lm.Comol.Modules.EduPath.Domain.DTO.dtoSubActivityLink> links = Service.GetDtoSubactivityActiveLinks(idSubActivity);
                        if (links == null || links.Count == 0)
                        {
                            template.Body.Text = TemplateEduPathPlaceHolders.Translate(template.Body.Text, AppContext, idPath, idUser, subActivity);
                        }
                        else
                        {
                            template.Body.Text = TemplateEduPathPlaceHolders.Translate(template.Body.Text, AppContext, idPath, idUser, subActivity, View.GetQuizInfos(links.Where(l => l.Visible).Select(l => l.IdObject).ToList(), idUser, IsEvaluablePath(idPath)));
                        }
                    }
                    Int32 idLanguage = (person == null) ? UserContext.Language.Id : person.LanguageID;

                    template.Body.Text = lm.Comol.Core.DomainModel.Helpers.TemplateCommonPlaceHolders.Translate(template.Body.Text, person, community, (subscription == null) ? null : subscription.SubscribedOn, organization, CurrentManager.GetTranslatedRole(subscription.IdRole, idLanguage), CurrentManager.GetTranslatedProfileType((person == null) ? (int)UserTypeStandard.Guest : person.TypeID, idLanguage), istanceName);
                    Int32 missingPlaceHolders = pHolders.Where(p => template.Body.Text.Contains(p)).Count();
                    cError = (missingPlaceHolders == 0) ? CertificationError.None : ((missingPlaceHolders == 1) ? CertificationError.EmptyTemplateItem : CertificationError.EmptyTemplateItems);
                }
            }
            else
            {
                cError = CertificationError.ExternalItemUnknown;
            }
            return(template);
        }
Beispiel #3
0
        public liteSubscriptionInfo GetSubscriptionInfo(Int32 idPerson, Int32 idCommunity)
        {
            liteSubscriptionInfo result = null;

            try
            {
                result = (from s in Manager.GetIQ <liteSubscriptionInfo>() where s.IdPerson == idPerson && s.IdCommunity == idCommunity select s).Skip(0).Take(1).ToList().FirstOrDefault();
            }
            catch (Exception ex)
            {
                result = null;
            }
            return(result);
        }
 public void InitView(Int32 idCommunity)
 {
     if (UserContext.isAnonymous)
     {
         View.DisplaySessionTimeout();
     }
     else
     {
         if (idCommunity == 0)
         {
             View.RedirectToPortalHomePage();
         }
         else
         {
             liteCommunityInfo community = CurrentManager.GetLiteCommunityInfo(idCommunity);
             if (community == null)
             {
                 View.DisplayUnknownCommunity();
             }
             else if (community.isClosedByAdministrator)
             {
                 View.DisplayCommunityBlock(community.Name);
             }
             else
             {
                 liteSubscriptionInfo subscription = CurrentManager.GetLiteSubscriptionInfo(UserContext.CurrentUserID, idCommunity);
                 if (subscription == null || subscription.IdRole < 0)
                 {
                     View.DisplayNotEnrolledIntoCommunity(community.Name);
                 }
                 else if (subscription.Accepted && subscription.Enabled)
                 {
                     View.LogonToCommunity(idCommunity, UserContext.CurrentUserID);
                 }
                 else if (subscription.Accepted && !subscription.Enabled)
                 {
                     View.DisplayNoAccessToCommunity(community.Name);
                 }
                 else if (!subscription.Accepted && !subscription.Enabled)
                 {
                     View.DisplayWaitingActivaction(community.Name);
                 }
             }
         }
     }
 }
Beispiel #5
0
        public void InitView(Int32 idCommunity)
        {
            litePerson p = CurrentManager.Get <litePerson>(UserContext.CurrentUserID);

            if (UserContext.isAnonymous && p != null)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                NoticeBoard.Domain.ModuleNoticeboard permissions = ServiceNoticeboard.GetPermissions((idCommunity > 0) ? idCommunity : 0);
                lm.Comol.Core.BaseModules.NoticeBoard.Domain.liteHistoryItem message = ServiceNoticeboard.GetLastHistoryItem(idCommunity);
                if (permissions.Administration || permissions.ViewCurrentMessage)
                {
                    if (message == null)
                    {
                        View.LoadNoMessage();
                    }
                    else
                    {
                        if (idCommunity == 0)
                        {
                            View.LoadMessage(message, p);
                        }
                        else
                        {
                            liteSubscriptionInfo s = Service.GetSubscriptionInfo(p.Id, idCommunity);
                            if (s == null)
                            {
                                View.LoadNoPermissionsToSeeMessage();
                            }
                            else
                            {
                                View.LoadMessage(message, idCommunity, s);
                            }
                        }
                    }
                }
                else
                {
                    View.LoadNoPermissionsToSeeMessage();
                }
            }
        }
Beispiel #6
0
        public dtoUnsubscribeTreeNode(liteCommunityInfo community, liteSubscriptionInfo subscription, String path)
        {
            Id             = community.Id;
            IdFather       = community.IdFather;
            IdCreatedBy    = community.IdCreatedBy;
            IdOrganization = community.IdOrganization;
            this.isPrimary = true;
            Name           = community.Name;
            Path           = path;
            AllowUnsubscriptionFromOrganization = true;
            CommunityAllowUnsubscribe           = community.AllowUnsubscribe;
            CommunitySubscriptionEndOn          = community.SubscriptionEndOn;

            CommunityStatus            = (community.isClosedByAdministrator) ? CommunityStatus.Blocked : ((community.isArchived) ? CommunityStatus.Stored : CommunityStatus.Active);
            Nodes                      = new List <dtoUnsubscribeTreeNode>();
            SubscriptionStatus         = GetSubscriptionStatus(subscription);
            IdRole                     = (subscription != null) ? subscription.IdRole : -3;
            CommunityAllowSubscription = community.AllowSubscription;
            MaxUsersWithDefaultRole    = community.MaxUsersWithDefaultRole;
        }
        public dtoNodeDetails(liteCommunityInfo community, Int32 idCommunity, Dictionary <Int32, long> enrolledUsers = null, List <liteCommunityConstraint> constraints = null, liteSubscriptionInfo enrollment = null)
        {
            Permissions     = new dtoCommunityNodeItemPermission();
            NotAvailableFor = new List <EnrollingStatus>();
            Constraints     = new List <dtoCommunityConstraint>();
            Community       = new lm.Comol.Core.Dashboard.Domain.dtoCommunityItem(community, idCommunity);
            if (enrollment != null)
            {
                LastAccessOn = enrollment.LastAccessOn;
                EnrolledOn   = enrollment.SubscribedOn;
            }
            if (AvailableSeats <= 0)
            {
                NotAvailableFor.Add(EnrollingStatus.Seats);
            }
            if (!Community.AllowSubscription)
            {
                NotAvailableFor.Add(EnrollingStatus.Unavailable);
            }
            else
            {
                if (!Community.IsAvailableForSubscriptionStartOn(DateTime.Now))
                {
                    NotAvailableFor.Add(EnrollingStatus.StartDate);
                }
                else if (!Community.IsAvailableForSubscriptionEndOn(DateTime.Now))
                {
                    NotAvailableFor.Add(EnrollingStatus.EndDate);
                }
            }

            if (enrolledUsers != null && enrolledUsers.ContainsKey(idCommunity))
            {
                EnrolledUsers = enrolledUsers[idCommunity];
                if (AvailableSeats <= 0)
                {
                    NotAvailableFor.Add(EnrollingStatus.Seats);
                }
            }
        }