Example #1
0
        public void CaseRepositoryCanCreateCase()
        {
            ICaseRepository cr = CaseRepository.Instance;

            ICase thiscase = cr.Create();

            Assert.AreEqual(0, thiscase.CaseNumber);
        }
Example #2
0
        public async Task <ObjectResult> Create([Bind("Title,CustomerId,Image,TagIds,SharingDescription")] Case @case)
        {
            if (@case.Image == null)
            {
                ModelState.AddModelError(nameof(@case.Image), "The Image field is required.");
            }
            else
            {
                if (!(new[] { ".png", ".jpg", ".jpeg" }).Contains(Path.GetExtension(@case.Image.FileName)?.ToLower()))
                {
                    ModelState.AddModelError(nameof(@case.Image), "Invalid image type, only png and jpg images are allowed");
                }

                if (@case.Image.Length < 1)
                {
                    ModelState.AddModelError(nameof(@case.Image), "Filesize too small");
                }
            }

            if (!ModelState.IsValid)
            {
                return(new BadRequestObjectResult(ModelState));
            }

            if (@case.Image != null)
            {
                @case.PhotoPath = await _uploadService.Upload(@case.Image, "/images/uploads/cases");
            }


            @case.CaseTags = @case.TagIds?.Select(tagId => new CaseTag {
                Case = @case, TagId = tagId
            }).ToList();
            @case.Language = "nl";

            @case.Date         = DateTime.UtcNow;
            @case.LastModified = DateTime.UtcNow;
            try
            {
                await _caseRepository.Create(@case);

                return(new ObjectResult(@case.Id));
            }
            catch (DbUpdateException)
            {
                return(new ObjectResult(null)
                {
                    StatusCode = StatusCodes.Status500InternalServerError,
                });
            }
        }
Example #3
0
 public ICase CreateCase()
 {
     return(_caseRep.Create());
 }