Example #1
0
        public IHttpActionResult Post([FromBody] Pattern pattern)
        {
            if (ModelState.IsValid)
            {
                var image = PatternGeneratorHelper.AddWrapPoints();
                pattern.Image = image.ToByteArray(ImageFormat.Jpeg);

                pattern.Width        = image.Width;
                pattern.Height       = image.Height;
                pattern.MaxSizeRatio = 0.001596;
                pattern.MinSizeRatio = 0.000304;

                db.Patterns.Add(pattern);
                db.SaveChanges();
                return(Ok());
            }

            return(BadRequest("The images already exists in the database."));
        }
Example #2
0
        public IHttpActionResult AddAnswerSheet([FromBody] List <PatternAnswerSheet> sheets)
        {
            var patternId = sheets[0].PatternId;
            var pattern   = db.Patterns.Include("AnswerBlocks").FirstOrDefault(x => x.Id == patternId);

            var answerBlock = new AnswerBlock()
            {
                PatternId           = patternId,
                AnswerOptionsNumber = 4
            };

            if (pattern != null)
            {
                var i = 1;
                if (pattern.AnswerBlocks.Count() != 0)
                {
                    i = pattern.AnswerBlocks.Last().FirstQuestionIndex + pattern.AnswerBlocks.Last().Rows;

                    answerBlock.FirstQuestionIndex = i;
                    answerBlock.Rows        = sheets.Count();
                    answerBlock.CoordinateX = pattern.AnswerBlocks.Last().CoordinateX + 1000;
                    answerBlock.CoordinateY = 500;

                    var tempPattern = new Pattern {
                        Image        = pattern.Image,
                        AnswerBlocks = new List <AnswerBlock>()
                    };

                    tempPattern.AnswerBlocks.Add(answerBlock);

                    var result = PatternGeneratorHelper.AddAnswerBlock(tempPattern);

                    pattern.Image = result.Image;
                    pattern.AnswerBlocks.Add(result.AnswerBlocks.First());

                    foreach (var sheet in sheets)
                    {
                        sheet.QuestionNumber = i;
                        i++;
                    }
                }
                else
                {
                    answerBlock.FirstQuestionIndex = i;
                    answerBlock.Rows        = sheets.Count();
                    answerBlock.CoordinateX = 500;
                    answerBlock.CoordinateY = 500;

                    var tempPattern = new Pattern
                    {
                        Image        = pattern.Image,
                        AnswerBlocks = new List <AnswerBlock>()
                    };

                    tempPattern.AnswerBlocks.Add(answerBlock);

                    var result = PatternGeneratorHelper.AddAnswerBlock(tempPattern);

                    pattern.Image = result.Image;
                    pattern.AnswerBlocks.Add(result.AnswerBlocks.First());

                    foreach (var sheet in sheets)
                    {
                        sheet.QuestionNumber = i;
                        i++;
                    }
                }

                db.AnswerBlocks.Add(answerBlock);
                db.AnswerSheets.AddRange(sheets);
                db.SaveChanges();
                return(Ok());
            }
            return(BadRequest());
        }