public IActionResult Post([FromBody] RegisteredAnimal rAnimal) { try { string userId = User.FindFirst(ClaimTypes.PrimarySid).Value; var addedAnimal = RegisteredAnimalMapper.StoA(_privateProfileService.Add(userId, RegisteredAnimalMapper.AtoS(rAnimal))); return(Ok(addedAnimal)); } catch (System.Exception s) { return(BadRequest()); } }
public RegisteredAnimal Add(string userId, RegisteredAnimal animal) { animal.UploadDate = DateTimeOffset.Now; var databaseLayerAnimal = RegisteredAnimalMapper.StoD(animal); var addedAnimal = _registeredAnimalProvider.Add(databaseLayerAnimal); QRCodeData qrCodeData = _qrGenerator.CreateQrCode(addedAnimal.Id.ToString(), QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); Bitmap qrCodeImage = qrCode.GetGraphic(20); var qrId = _fileService.Upload(userId, _fileService.AsJpeg(qrCodeImage), "image/jpeg"); addedAnimal.QR = qrId.ToString(); addedAnimal.UserId = userId; _registeredAnimalProvider.Update(addedAnimal); _unitOfWork.Commit(); return(RegisteredAnimalMapper.DtoS(addedAnimal)); }
public IActionResult Put(string id, [FromBody] RegisteredAnimal rAnimal) { try { string userId = User.FindFirst(ClaimTypes.PrimarySid).Value; var updatedAnimal = RegisteredAnimalMapper.StoA(_privateProfileService.Edit(userId, new Guid(id), RegisteredAnimalMapper.AtoS(rAnimal))); return(Ok(updatedAnimal)); } catch (ApiException exp) { return(StatusCode( exp.GetStatusCode(), Error.CreateBuilder().SetErrorMessage(exp.GetErrorMessage()).Build() )); } catch { return(BadRequest()); } }
public RegisteredAnimal Edit(string userId, Guid animalId, RegisteredAnimal animal) { var rAnimal = _registeredAnimalProvider.Get(animalId); if (rAnimal == null) { throw new ApiException(HttpStatusCode.Forbidden, ApiError.NotFound); } if (!rAnimal.UserId.Equals(userId)) { throw new ApiException(HttpStatusCode.Forbidden, ApiError.AccessForbidden); } rAnimal.Image = animal.Image; rAnimal.Name = animal.Name; var updatedAnimal = _registeredAnimalProvider.Update(rAnimal); _unitOfWork.Commit(); return(RegisteredAnimalMapper.DtoS(updatedAnimal)); }