示例#1
0
    private void SignIn()
    {
      var site = new GrayHills.Matches.Site
      {
        Name = SiteName
      };

      var token = site.GetToken(new NetworkCredential(Username, Password));

      //var db = new OpenFlameDbContext();

      GrayHills.FlameCage.Client.Models.Site siteModel = null; //= db.Sites.SingleOrDefault(s => s.Name == SiteName);

      if (siteModel == null)
      {
        siteModel = new Models.Site { Name = SiteName, ApiAuthToken = token };
        //db.Sites.Add(siteModel);
      }
      else
      {
        siteModel.ApiAuthToken = token;
      }

      //db.SaveChanges();
    }
示例#2
0
    public RoomViewModel(ISite site, Models.Site siteModel, IRoom room, IEventAggregator eventAggregator)
    {
      this.eventAggregator = eventAggregator;
      this.site = site;
      this.room = room;
      this.siteModel = siteModel;

      Name = room.Name;
      Topic = room.Topic;

      dispatcher = Dispatcher.CurrentDispatcher;
    }
        /// <summary>
        /// Initializes the service.
        /// </summary>
        public async Task InitAsync(HttpContext context)
        {
            // Gets the current site info
            if (!context.Request.Path.Value.StartsWith("/manager/"))
            {
                Models.Site site = null;

                // Try to get the requested site by hostname & prefix
                var url = context.Request.Path.HasValue ? context.Request.Path.Value : "";
                if (!string.IsNullOrEmpty(url) && url.Length > 1)
                {
                    var segments = url.Substring(1).Split(new char[] { '/' });
                    site = await Api.Sites.GetByHostnameAsync($"{context.Request.Host.Host}/{segments[0]}");

                    if (site != null)
                    {
                        context.Request.Path = "/" + string.Join("/", segments.Skip(1));
                    }
                }

                // Try to get the requested site by hostname
                if (site == null)
                {
                    site = await Api.Sites.GetByHostnameAsync(context.Request.Host.Host);
                }

                // If we didn't find the site, get the default site
                if (site == null)
                {
                    site = await Api.Sites.GetDefaultAsync();
                }

                // Store the current site id & get the sitemap
                if (site != null)
                {
                    Site.Id      = site.Id;
                    Site.Culture = site.Culture;
                    Site.Sitemap = await Api.Sites.GetSitemapAsync(Site.Id);
                }
            }

            // Get the current url
            Url = context.Request.Path.Value;
        }
        public System.Web.Mvc.ActionResult Submit(Models.Site site, System.Web.Mvc.ControllerContext controllerContext, Models.SubmissionSetting submissionSetting)
        {
            JsonResultData resultData = new JsonResultData();

            if (!ChangePasswordCore(controllerContext, submissionSetting))
            {
                resultData.AddModelState(controllerContext.Controller.ViewData.ModelState);
                resultData.Success = false;
            }
            else
            {
                resultData.RedirectUrl = MemberPluginHelper.GetReturnUrl(controllerContext);
                resultData.Success     = true;
            }
            return(new JsonResult()
            {
                Data = resultData
            });
        }
示例#5
0
        public Models.Page Copy(Models.Site site, string sourcePageFullName, string newPageFullName)
        {
            var page    = Get(new Page(site, sourcePageFullName));
            var newPage = new Page(site, newPageFullName);
            var entity  = PageEntityHelper.ToPageEntity <PageEntity>(page);

            entity.FullName = newPageFullName;
            if (newPage.Parent != null)
            {
                entity.ParentPage = newPage.Parent.FullName;
            }

            _dbContext.Pages.Add(entity);
            _dbContext.SaveChanges();

            ClearCache();

            return(PageEntityHelper.ToPage(entity));
        }
示例#6
0
   public Models.Site Update(Models.Site value)
   {
       try
       {
           string query = @"
 UPDATE sites
 SET
     name = @Name,
    userId = @UserId
 WHERE id = @Id;
 SELECT * FROM sites WHERE id = @Id
 ";
           return(_db.QueryFirstOrDefault <Models.Site>(query, value));
       }
       catch (Exception e)
       {
           throw e;
       }
   }
示例#7
0
        public JsonResult BulkUpdate([FromBody] BulkDistributorUpdateObject bduo)
        {
            using (var context = new Data.ApplicationDbContext()) {
                // Verify user exists & has permission
                String      authUserId = User.GetClaim(OpenIdConnectConstants.Claims.Subject);
                Models.User authUser   = context.Users.AsNoTracking().FirstOrDefault(u => u.Id.ToString().Equals(authUserId));
                if (authUser == null)
                {
                    return(Json(new { status_code = 2, status = "User '" + authUserId + "' does not exist" }));
                }

                // Verify given distributor exists & is distributor
                Models.User distrib = context.Users.FirstOrDefault(u => u.Id == bduo.Distributor.Id);
                if (distrib == null)
                {
                    return(Json(new { status_code = 2, status = "User '" + distrib.UserName + "' does not exist" }));
                }
                if (distrib.Level < 3)                 // 1 = Cashier, 2 = Owner; everything else is more important than distrib, so don't want to lower their level
                {
                    distrib.Level = 3;
                }

                // Set each site's distributor to given distributor
                foreach (String siteId in bduo.SiteList)
                {
                    Models.Site site = context.Sites.FirstOrDefault(s => s.SiteId.ToString().Equals(siteId));
                    if (site == null)
                    {
                        return(Json(new { status_code = 2, status = "Site '" + siteId + "' does not exist" }));
                    }
                    if (!Helpers.PermissionChecker.CanModifySite(authUser) && authUser.Id != site.SiteDistributor)
                    {
                        return(Json(new { status_code = 1, status = "User '" + authUser.UserName + "' does not have permission to edit site" }));
                    }

                    site.SiteDistributor = distrib.Id;
                }

                // Save all changes
                context.SaveChanges();
            }
            return(Json(new { status_code = 0 }));
        }
示例#8
0
        public Models.Page Copy(Models.Site site, string sourcePageFullName, string newPageFullName)
        {
            var page    = Get(new Page(site, sourcePageFullName));
            var newPage = new Page(site, newPageFullName);
            var entity  = PageEntityHelper.ToPageEntity(page);

            entity.FullName = newPageFullName;
            if (newPage.Parent != null)
            {
                entity.ParentPage = newPage.Parent.FullName;
            }

            var serviceContext = CloudTableHelper.GetTableServiceContext();

            serviceContext.AddObject(PageTable, entity);
            serviceContext.SaveChangesWithRetries();

            return(PageEntityHelper.ToPage(entity));
        }
        /// <summary>
        /// Creates an anonymous object with all info relating to a ticket, instead of just the essential information.
        ///
        /// Normally, tickets only have ID values and not string values because they are used internally and can be
        /// converted on the server as needed, but the client side doesn't have direct access to all the internal data
        /// the server does (unless accessed via multiple routes, which would waste time).
        ///
        /// tl;dr This method just gives info the client would need about a ticket.
        /// </summary>
        /// <remarks>Assumes ticket is valid</remarks>
        /// <param name="ticket">The ticket to pull all information from</param>
        /// <returns>An anonymous object with extra information about a given ticket</returns>
        private object FullTicketInfo(Models.Ticket ticket)
        {
            using (var context = new Data.ApplicationDbContext()) {
                Models.Site siteTicket     = context.Sites.AsNoTracking().FirstOrDefault(s => s.SiteId == ticket.SiteId);
                Models.User ticketCreator  = context.Users.AsNoTracking().FirstOrDefault(c => c.Id == ticket.CreatedBy);
                Models.User ticketAssignee = null;
                if (ticket.AssignedTo.HasValue)
                {
                    ticketAssignee = context.Users.AsNoTracking().FirstOrDefault(a => a.Id == ticket.AssignedTo);
                }

                return(new {
                    Id = ticket.Id,
                    SiteId = ticket.SiteId,
                    Subject = ticket.Subject,
                    Comments = ticket.Comments,
                    Priority = (int)ticket.Priority,
                    PriorityName = ticket.Priority.ToString().Replace('_', ' '),
                    Status = (int)ticket.Status,
                    StatusName = ticket.Status.ToString().Replace('_', ' '),
                    Category = (int)ticket.Category,
                    CategoryName = ticket.Category.ToString().Replace('_', ' '),
                    SiteName = siteTicket != null ? siteTicket.SiteName : "",
                    AssignedTo = ticket.AssignedTo,
                    CreatedBy = ticket.CreatedBy,
                    CreatedDate = ticket.CreatedDate,
                    Creator = ticketCreator != null ?
                              new {
                        UserName = ticketCreator.UserName,
                        FName = ticketCreator.FName,
                        LName = ticketCreator.LName
                    } : null,
                    Assignee = ticketAssignee != null ?
                               new {
                        UserName = ticketAssignee.UserName,
                        FName = ticketAssignee.FName,
                        LName = ticketAssignee.LName
                    } : null,
                    DueDate = ticket.DueDate,
                    LastUpdated = ticket.LastUpdated
                });
            }
        }
示例#10
0
        public static Models.ValidationResult ValidateSite(Models.Site site, bool isNewSite)
        {
            var validationResult = new Models.ValidationResult();

            if (string.IsNullOrEmpty(site.Name))
            {
                validationResult.IsValid = false;
                validationResult.Message = "Site Name Is Not Valid";
                return(validationResult);
            }

            if (isNewSite)
            {
                using (var uow = new DAL.UnitOfWork())
                {
                    if (uow.SiteRepository.Exists(h => h.Name == site.Name))
                    {
                        validationResult.IsValid = false;
                        validationResult.Message = "This Site Already Exists";
                        return(validationResult);
                    }
                }
            }
            else
            {
                using (var uow = new DAL.UnitOfWork())
                {
                    var originalSite = uow.SiteRepository.GetById(site.Id);
                    if (originalSite.Name != site.Name)
                    {
                        if (uow.SiteRepository.Exists(h => h.Name == site.Name))
                        {
                            validationResult.IsValid = false;
                            validationResult.Message = "This Site Already Exists";
                            return(validationResult);
                        }
                    }
                }
            }

            return(validationResult);
        }
示例#11
0
        public System.Web.Mvc.ActionResult Submit(Models.Site site, System.Web.Mvc.ControllerContext controllerContext, Models.SubmissionSetting submissionSetting)
        {
            JsonResultData resultData = new JsonResultData();
            string         redirectUrl;

            if (!ContactSiteCore(controllerContext, submissionSetting, out redirectUrl))
            {
                resultData.AddModelState(controllerContext.Controller.ViewData.ModelState);
                resultData.Success = false;
            }
            else
            {
                resultData.RedirectUrl = redirectUrl;
                resultData.Success     = true;
            }
            return(new JsonResult()
            {
                Data = resultData
            });
        }
示例#12
0
        public ActionResult GetSiteParams(int SiteId)
        {
            Hydro.HydroService theHydro = new Hydro.HydroService();

            Hydro.Site[] _sites = theHydro.GetSiteList(null, true);

            if (_sites != null)
            {
                foreach (var site in _sites)
                {
                    if (site.SiteId == SiteId)
                    {
                        Models.Site theSite = new Models.Site(site);
                        return(View(theSite));
                    }
                }
            }

            return(View());
        }
示例#13
0
        public ActionResult SiteAdd(Models.Site _site)
        {
            //create a new site
            Models.Site _addSite = new Models.Site()
            {
                //by setting the model attirbutes manually, we are preventing over-posting an alternative way is to use the BindAttribute
                Address          = _site.Address,
                SiteFlowMeterIDs = _site.SiteFlowMeterIDs,
                SiteSensorIDs    = _site.SiteSensorIDs,
                SiteTelogID      = _site.SiteTelogID
            };

            database.sites.Add(_addSite);
            database.SaveChanges();

            //when adding go back to the list
            var _sites = database.sites.ToList();

            return(View("AllSites", _sites));
        }
示例#14
0
        private void MovePageRecursively(Models.Site site, string pageFullName, string newParent)
        {
            var oldPage = new Page(site, pageFullName);
            var newPage = Get(oldPage);

            if (!string.IsNullOrEmpty(newParent))
            {
                newPage.FullName = new Page(new Page(site, newParent), oldPage.Name).FullName;
            }
            else
            {
                newPage.FullName = oldPage.Name;
            }

            InsertOrUpdate(newPage, newPage);
            Remove(oldPage);
            foreach (var item in ChildPages(oldPage))
            {
                MovePageRecursively(site, item.FullName, newPage.FullName);
            }
        }
示例#15
0
        public System.Web.Mvc.ActionResult Submit(Models.Site site, System.Web.Mvc.ControllerContext controllerContext, Models.SubmissionSetting submissionSetting)
        {
            JsonResultData      resultData = new JsonResultData();
            ValidateMemberModel model;

            if (!LoginCore(controllerContext, submissionSetting, out model))
            {
                resultData.AddModelState(controllerContext.Controller.ViewData.ModelState);
                resultData.Success = false;
            }
            else
            {
                resultData.RedirectUrl = model.RedirectUrl;
                resultData.Model       = model.UserName;
                resultData.Success     = true;
            }
            return(new JsonResult()
            {
                Data = resultData
            });
        }
示例#16
0
        public ActionResult Add(Models.Site model)
        {
            model.CreateTime = DateTime.Now;
            model.Rank       = 0;

            //判断Url是否已经存在
            var m = db.Sites.Where(p => p.Domain == model.Domain).FirstOrDefault();

            if (m == null)
            {
                //自动补全http://协议标识
                if (model.Domain.Length >= 7 && model.Domain.ToLower().Substring(0, 7) != "http://")
                {
                    model.Domain = "http://" + model.Domain;
                }

                db.Sites.Add(model);
                db.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }
示例#17
0
文件: EmailPlugin.cs 项目: webrot/CMS
        public System.Web.Mvc.ActionResult Submit(Models.Site site, System.Web.Mvc.ControllerContext controllerContext, Models.SubmissionSetting submissionSetting)
        {
            Exception exception = null;

            try
            {
                var formValues = new NameValueCollection(controllerContext.HttpContext.Request.Form);

                formValues = PluginHelper.ApplySubmissionSettings(submissionSetting, formValues);

                var from       = formValues["From"];
                var subject    = formValues["Subject"];
                var body       = formValues["Body"];
                var isBodyHtml = !string.IsNullOrEmpty(formValues["isBodyHtml"]) && formValues["isBodyHtml"].ToLower() == "true";
                SendMail(site, from, subject, body, isBodyHtml, controllerContext.HttpContext.Request.Files);
            }
            catch (Exception e)
            {
                exception = e;
            }
            return(PluginHelper.ReturnActionResult(controllerContext, null, exception));
        }
示例#18
0
        public void Import(Models.Site site, System.IO.Stream zipStream, bool @override)
        {
            var allItem = fileProvider.All(site);

            foreach (var item in allItem)
            {
                fileProvider.Remove(item);
            }
            fileProvider.Import(site, zipStream, @override);
            allItem = fileProvider.All(site);
            if (!@override)
            {
                allItem = allItem.Where(it => null == Get(it));
            }
            var dummy = allItem.ToList();

            foreach (var item in dummy)
            {
                var tempItem = fileProvider.Get(item);
                tempItem.Site = site;
                InsertOrUpdate(tempItem, tempItem);
            }
        }
示例#19
0
        public virtual IQueryable <T> All(Models.Site site)
        {
            var filePath = GetFile(site);

            if (!File.Exists(filePath))
            {
                return((new T[0]).AsQueryable());
            }
            GetLocker().EnterReadLock();
            try
            {
                var list = Serialization.DeserializeSettings <List <T> >(filePath) ?? new List <T>();
                foreach (var item in list)
                {
                    item.Site = site;
                }
                return(list.AsQueryable());
            }
            finally
            {
                GetLocker().ExitReadLock();
            }
        }
示例#20
0
        public async Task <ActionResult <Site> > AddSite(Models.Site site)
        {
            if (site == null)
            {
                logger.LogDebug("Site is null.");
                return(NoContent());
            }
            else
            {
                logger.LogDebug("Site NPI: " + site.NPI);
                logger.LogDebug("Site SiteName: " + site.SiteName);
                if (entityContext.Find <Site>(site.NPI) == null)
                {
                    entityContext.Add(site);
                }
                else
                {
                    entityContext.Update(site);
                }
                await entityContext.SaveChangesAsync();

                return(CreatedAtAction(nameof(GetSiteByNPI), new { site.NPI }, site));
            }
        }
示例#21
0
        public ActionResult Add()
        {
            var model = new Models.Site();

            return(View(model));
        }
示例#22
0
        private static string GetCacheKey(Models.Site site)
        {
            var cacheKey = string.Format("Site:{0}", site.FullName.ToLower());

            return(cacheKey);
        }
示例#23
0
 public IQueryable <Models.Site> All(Models.Site site)
 {
     return(inner.All(site));
 }
示例#24
0
 public abstract IEnumerable <T> All(Models.Site site);
示例#25
0
        public void Import(Models.Site site, System.IO.Stream zipStream, bool @override)
        {
            inner.Import(site, zipStream, @override);

            site.ClearCache();
        }
 public SiteDeletedMessage(GrayHills.FlameCage.Client.Models.Site site)
 {
   this.Site = site;
 }
        // POST api/file
        public void Post(HttpRequestMessage request, string FileName, string description, string siteName,string AddOrNot)
        {
            Task<byte[]> taskb = request.Content.ReadAsByteArrayAsync();
            byte[] Block = taskb.Result;
            Models.Session session = new Models.Session();
            string sessionId = session.getSessionId();
            FileStream down = session.getStream(sessionId);//save it into the session,get it from the 
            int blockSize = 512;
            if (Block.Length == 0 || blockSize <= 0)
                return;
            down.Write(Block, 0, Block.Length);
            if(Block.Length<512&&AddOrNot=="true")
            {
                Models.Site NewData = new Models.Site();
                NewData.Description = description;
                NewData.Image = FileName;
                NewData.SiteName = siteName;
                db.Sites.Add(NewData);
                db.SaveChanges();         
            }

        }
示例#28
0
 public override void Update(Models.Site site, ABRuleSetting @new, ABRuleSetting old)
 {
     @new.Site = site;
     @old.Site = site;
     _provider.Update(@new, old);
 }
示例#29
0
 public override Models.View Get(Models.Site site, string name)
 {
     return(Provider.Get(new Models.View(site, name)));
 }
示例#30
0
 public void Localize(Models.View o, Models.Site targetSite)
 {
     ClearObjectCache(targetSite);
     inner.Localize(o, targetSite);
 }
示例#31
0
 public override IEnumerable <T> All(Models.Site site)
 {
     return(IInheritableHelper.All <T>(site));
 }
示例#32
0
 public Models.View Copy(Models.Site site, string sourceName, string destName)
 {
     ClearObjectCache(site);
     return(inner.Copy(site, sourceName, destName));
 }
示例#33
0
 public void Add(Models.Site item)
 {
     inner.Add(item);
     CacheManagerFactory.DefaultCacheManager.ClearGlobalObjectCache();
 }
示例#34
0
        public IEnumerable <Models.Site> ChildSites(Models.Site site)
        {
            string cacheKey = "ChildSites-SiteName:" + site.FullName;

            return(GetCachedData <Site[]>(cacheKey, () => inner.ChildSites(site).ToArray()));
        }
示例#35
0
        public ActionResult Add()
        {
            var model = new Models.Site();

            return View(model);
        }