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.")); }
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()); }