// GET: api/call public IHttpActionResult Post([FromBody] PraiseDTO praise) { if (praise.AccountId == Guid.Empty || praise.SpecwayId == Guid.Empty) { throw new ArgumentNullException("praiseAppService"); } var rpraDTO = _praiseAppService.FindPraise(praise.SpecwayId, praise.AccountId); if (rpraDTO == null || rpraDTO.Id == Guid.Empty) { var praDTO = _praiseAppService.AddNewPraise(new Application.MainBoundedContext.DTO.PraiseDTO() { AccountId = praise.AccountId, CreateOn = DateTime.Now, SpecwayId = praise.SpecwayId }); } else { _praiseAppService.RemovePraiseDTO(rpraDTO.Id); } return(Ok()); }
/// <summary> /// news a account /// </summary> /// <param name="praiseDTO"></param> /// <returns></returns> public PraiseDTO AddNewPraise(PraiseDTO praiseDTO) { //check preconditions if (praiseDTO == null) { throw new ArgumentException(Messages.warning_CannotAddPraiseWithEmptyInformation); } //Create the entity and the required associated data var praise = PraiseFactory.CreatePraise(praiseDTO.AccountId, praiseDTO.SpecwayId); //save entity SavePraise(praise); //return the data with id and assigned default values return(praise.ProjectedAs <PraiseDTO>()); }