Beispiel #1
0
        public IHttpActionResult PutStopAt(short sid, short tid, StopAt stopAt)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (sid != stopAt.SID || tid != stopAt.TID)
            {
                return(BadRequest());
            }

            _dbContext.Entry(stopAt).State = EntityState.Modified;

            try
            {
                _dbContext.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!StopAtExists(sid) || !StopAtExists(tid))
                {
                    return(NotFound());
                }
                else
                {
                    return(Conflict());
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Beispiel #2
0
        public void Highlight(int start = 0, StopAt stop = StopAt.EndOfFile, int length = 0)
        {
            this.paint = false;                   // Disable painting so you don't see all the selections flickering about.
            int saveStart  = this.SelectionStart; // To restore the selection when we are done.
            int saveLength = this.SelectionLength;
            int position   = 0;

            foreach (string s in this.Lines)  // Probably not the most efficient way, but it works.
            {
                if (position + s.Length >= start)
                {
                    this.highlightLine(position, s);
                    if (stop == StopAt.EndOfLine)
                    {
                        break;
                    }
                }
                position += s.Length + 1; // One more for newline.
                if (stop == StopAt.Length && position - start >= length)
                {
                    break;
                }
            }
            this.SelectionStart  = saveStart;
            this.SelectionLength = saveLength;
            this.paint           = true;
        }
Beispiel #3
0
        public IHttpActionResult PostStopAt(StopAt stopAt)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _dbContext.StopAts.Add(stopAt);

            try
            {
                _dbContext.SaveChanges();
            }
            catch (DbUpdateException)
            {
                return(Conflict());
            }

            return(CreatedAtRoute("DefaultApi", null, new { }));
        }
        public Response Post(NancyContext context)
        {
            DateTime start    = DateTime.Now;
            StopAt   stopat   = StopAt.None;
            bool     multiple = false;
            Dictionary <string, string> returnModifiers = null;

            foreach (string name in context.Request.Query)
            {
                if (name.StartsWith("return.", StringComparison.InvariantCultureIgnoreCase))
                {
                    if (returnModifiers == null)
                    {
                        returnModifiers = new Dictionary <string, string>();
                    }
                    string dataType = "Rhino.Geometry." + name.Substring("return.".Length);
                    string items    = context.Request.Query[name];
                    returnModifiers[dataType] = items;
                    continue;
                }
                if (name.Equals("multiple", StringComparison.InvariantCultureIgnoreCase))
                {
                    multiple = context.Request.Query[name];
                    continue;
                }
                if (name.Equals("stopat", StringComparison.InvariantCultureIgnoreCase))
                {
                    int val = context.Request.Query[name];
                    stopat = (StopAt)val;
                }
            }
            if (StopAt.PostStart == stopat)
            {
                return($"{(DateTime.Now - start).TotalSeconds}");
            }

            var jsonString = context.Request.Body.AsString();

            if (StopAt.BodyToString == stopat)
            {
                return($"{(DateTime.Now - start).TotalSeconds}");
            }

            object data         = string.IsNullOrWhiteSpace(jsonString) ? null : JsonConvert.DeserializeObject(jsonString);
            var    ja           = data as Newtonsoft.Json.Linq.JArray;
            string resultString = null;

            if (multiple && ja.Count > 1)
            {
                var result = new System.Text.StringBuilder("[");
                for (int i = 0; i < ja.Count; i++)
                {
                    if (i > 0)
                    {
                        result.Append(",");
                    }
                    var item = ja[i] as Newtonsoft.Json.Linq.JArray;
                    result.Append(HandlePostHelper(item, returnModifiers));
                }
                result.Append("]");
                resultString = result.ToString();
            }
            else
            {
                resultString = HandlePostHelper(ja, returnModifiers);
            }

            if (StopAt.CalculationsComplete == stopat)
            {
                return($"{(DateTime.Now - start).TotalSeconds}");
            }
            return(resultString);
        }