Пример #1
0
        public static SiteEditMetadata ToSiteEditMetadata(SiteMetadata request)
        {
            var _newRequest = new SiteEditMetadata();

            var _owner = new SiteUser()
            {
                Name  = request.PrimaryOwnerName,
                Email = request.PrimaryOwnerEmail
            };

            _newRequest.Url                   = request.Url;
            _newRequest.TenantAdminUrl        = request.TenantAdminUrl;
            _newRequest.Title                 = request.Title;
            _newRequest.Description           = request.Description;
            _newRequest.TimeZoneId            = request.TimeZoneID;
            _newRequest.Lcid                  = request.lcid;
            _newRequest.AppliedSitePolicyName = request.SitePolicyName;
            _newRequest.SiteOwner             = _owner;
            _newRequest.SitePolicy            = request.SitePolicy;;
            _newRequest.SharePointOnPremises  = request.SharePointOnPremises;
            _newRequest.EnableExternalSharing = request.EnableExternalSharing;
            _newRequest.BusinessUnit          = request.BusinessUnit;
            _newRequest.Division              = request.Division;
            _newRequest.Function              = request.Function;
            _newRequest.Region                = request.Region;


            return(_newRequest);
        }
Пример #2
0
 public SidebarViewModel(Homepage homepage, SiteMetadata metadata, bool isIndex, string activeMenuItem) : base(metadata)
 {
     Contacts       = metadata.SiteAuthor.Contacts.OfType <Contact>();
     Homepage       = homepage;
     IsIndex        = isIndex;
     ActiveMenuItem = activeMenuItem;
 }
Пример #3
0
        public static SiteMetadata ToSiteMetadata(SiteEditMetadata request)
        {
            var _newRequest = new SiteMetadata();

            _newRequest.PrimaryOwnerEmail = request.SiteOwner.Email;
            _newRequest.PrimaryOwnerName  = request.SiteOwner.Name;

            _newRequest.Url                      = request.Url;
            _newRequest.TenantAdminUrl           = request.TenantAdminUrl;
            _newRequest.Title                    = request.Title;
            _newRequest.Description              = request.Description;
            _newRequest.TimeZoneID               = request.TimeZoneId;
            _newRequest.lcid                     = request.Lcid;
            _newRequest.SitePolicy               = request.SitePolicy;
            _newRequest.SitePolicyName           = request.AppliedSitePolicyName;
            _newRequest.SitePolicyExpirationDate = request.AppliedSitePolicyExpirationDate;
            _newRequest.SharePointOnPremises     = request.SharePointOnPremises;
            _newRequest.EnableExternalSharing    = request.EnableExternalSharing;
            _newRequest.BusinessUnit             = request.BusinessUnit;
            _newRequest.Division                 = request.Division;
            _newRequest.Function                 = request.Function;
            _newRequest.Region                   = request.Region;
            _newRequest.Success                  = true;

            return(_newRequest);
        }
Пример #4
0
        private string CreateEmailAlertBody(SiteMetadata siteMetadata)
        {
            string body = "<p style='font-family:Arial;'>Your website may be down. <a href='" + siteMetadata.Url + "'>Go to Website</a>.</p>";

            body += "<p style='font-family:Arial;'>View your <a href='" + WebsiteUrl + "/Account'>Dashboard</a>.</p>";
            body += "<p style='font-family:Arial;'>Thank you!<br/><a href='" + WebsiteUrl + "'>SiteAwake.net</a></p>";

            return(body);
        }
Пример #5
0
        protected ViewModelBase(SiteMetadata metadata, Navigation navigation, IStringLocalizer <SharedResource> localizer, string locale = Locales.Spanish)
        {
            Author      = metadata.Author as Author;
            Metadata    = metadata;
            Navigation  = navigation;
            Locale      = locale;
            CultureInfo = CultureInfo.CreateSpecificCulture(Locale);
#pragma warning disable CS0618 // Type or member is obsolete
            Localizer = localizer.WithCulture(CultureInfo);
#pragma warning restore CS0618 // Type or member is obsolete
        }
Пример #6
0
        ICollection <SiteMetadata> GetSiteMetadataFromList(string listName)
        {
            ICollection <SiteMetadata> _returnResults = new List <SiteMetadata>();

            UsingContext(ctx =>
            {
                Stopwatch _timespan = Stopwatch.StartNew();
                try
                {
                    var _web = ctx.Web;
                    ctx.Load(_web);
                    if (!_web.ListExists(listName))
                    {
                        var _message = String.Format("The List {0} does not exist in Site {1}",
                                                     listName,
                                                     ctx.Url);

                        Log.Fatal("SPMetadataManager.GetSiteMetadataFromList", _message);
                        throw new DataStoreException(_message);
                    }

                    var _camlQuery     = new CamlQuery();
                    _camlQuery.ViewXml = CAML_GET_ENABLED_SITEMETADATA;

                    var _list = ctx.Web.Lists.GetByTitle(listName);
                    var _listItemCollection = _list.GetItems(_camlQuery);
                    ctx.Load(_listItemCollection,
                             eachItem => eachItem.Include(
                                 item => item,
                                 item => item["ID"],
                                 item => item["SP_Key"],
                                 item => item["SP_Value"],
                                 item => item["SP_DisplayOrder"],
                                 item => item["SP_Enabled"]
                                 ));
                    ctx.ExecuteQuery();

                    _timespan.Stop();
                    Log.TraceApi("SharePoint", "SPMetadataManager.GetSiteMetadataFromList", _timespan.Elapsed);

                    foreach (ListItem _item in _listItemCollection)
                    {
                        var _metadata = new SiteMetadata()
                        {
                            Id           = _item.BaseGetInt("ID"),
                            Key          = _item.BaseGet("SP_Key"),
                            Value        = _item.BaseGet("SP_Value"),
                            DisplayOrder = _item.BaseGetInt("SP_DisplayOrder"),
                            Enabled      = _item.BaseGet <bool>("SP_Enabled")
                        };
                        _returnResults.Add(_metadata);
                    }
                }
                catch (ServerException ex)
                {
                    //TODO LOG
                }
                catch (DataStoreException ex)
                {
                    throw;
                }
            });
            return(_returnResults);
        }
Пример #7
0
 public PostViewModel(Article article, SiteMetadata metadata) : base(metadata)
 {
     Article = article;
 }
Пример #8
0
 protected ViewModelBase(SiteMetadata metadata)
 {
     Author   = metadata.SiteAuthor;
     Metadata = metadata;
 }
Пример #9
0
 public PageViewModel(Page page, SiteMetadata metadata, Navigation navigation, IStringLocalizer <SharedResource> localizer, string locale) : base(metadata, navigation, localizer, locale)
 {
     Page = page;
 }
Пример #10
0
        public async Task <bool> CheckWebsite(SiteMetadata siteMetadata, HttpClient client, IContext context)
        {
            var stopWatch = Stopwatch.StartNew();

            try
            {
                var response = await client.GetAsync(siteMetadata.Url, HttpCompletionOption.ResponseHeadersRead);

                Console.WriteLine(siteMetadata.Url + " " + response.IsSuccessStatusCode + " " + stopWatch.ElapsedMilliseconds);

                AddCommunication(siteMetadata.Id, null, siteMetadata.LastWakeUpCall ?? DateTime.Now, stopWatch.ElapsedMilliseconds, "OK");

                siteMetadata.AlertSent  = false;
                siteMetadata.Processing = false;

                return(response.IsSuccessStatusCode);
            }
            catch (HttpRequestException hex)
            {
                Console.WriteLine(siteMetadata.Url + " " + hex.Message);

                AddCommunication(siteMetadata.Id, hex.Message, siteMetadata.LastWakeUpCall ?? DateTime.Now, stopWatch.ElapsedMilliseconds, "ERROR");

                if (siteMetadata.AlertsEnabled & !siteMetadata.AlertSent)
                {
                    siteMetadata.AlertSent = await EmailManager.SendEmail(siteMetadata.Account.Email, "SiteAwake Alert Generated", CreateEmailAlertBody(siteMetadata), null, null);
                }

                siteMetadata.Processing = false;

                return(false);
            }
            catch (TaskCanceledException tce)
            {
                Console.WriteLine(siteMetadata.Url + " " + tce.Message);

                AddCommunication(siteMetadata.Id, tce.Message, siteMetadata.LastWakeUpCall ?? DateTime.Now, stopWatch.ElapsedMilliseconds, "ERROR");

                if (siteMetadata.AlertsEnabled & !siteMetadata.AlertSent)
                {
                    siteMetadata.AlertSent = await EmailManager.SendEmail(siteMetadata.Account.Email, "SiteAwake Alert Generated", CreateEmailAlertBody(siteMetadata), null, null);
                }

                siteMetadata.Processing = false;

                return(false);
            }
            catch (Exception ex)
            {
                Logger.Log(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, Logger.EventType.Error, ex.Message, ex);
                Console.WriteLine(siteMetadata.Url + " " + ex.ToString());

                AddCommunication(siteMetadata.Id, ex.Message, siteMetadata.LastWakeUpCall ?? DateTime.Now, stopWatch.ElapsedMilliseconds, "ERROR");

                _communications.Add(new Communication()
                {
                    SiteMetadataId      = siteMetadata.Id,
                    Created             = DateTime.Now,
                    Message             = ex.Message,
                    MillisecondsElapsed = stopWatch.ElapsedMilliseconds,
                    Status = "ERROR"
                });

                siteMetadata.Processing = false;

                return(false);
            }
        }