示例#1
0
        public async Task <IActionResult> DeleteEmailAddress([FromRoute][Required] int id)
        {
            Logger.Trace($"Executing '{nameof(DeleteEmailAddress)}'.");

            var userId = HttpContext.GetUserId();

            if (userId == null)
            {
                return(Unauthorized());
            }

            try
            {
                var request = new DeleteEmailAddressRequest(id);
                request.SetUserId(userId.Value);

                var result = await _mediator.Send(request);

                return(result.GetResult());
            }
            catch (Exception ex)
            {
                Logger.Error(ex, $"Unexpected error thrown while executing '{nameof(DeleteEmailAddressHandler)}'.");
                throw;
            }
        }
示例#2
0
        public async Task Should_ReturnOK_When_DeleteEmailAddress(int emailAddressIdToDelete, int userId)
        {
            var cancellationToken = new CancellationToken();

            var databaseContext = Create.MockedDbContextFor <DatabaseContext>();

            databaseContext.Set <MailingGroup>().Add(new MailingGroup()
            {
                Id           = 1,
                SystemUserId = 1,
            });
            databaseContext.Set <MailingGroup>().Add(new MailingGroup()
            {
                Id           = 2,
                SystemUserId = 2,
            });
            databaseContext.Set <EmailAddress>().Add(new EmailAddress()
            {
                Id             = 1,
                MailingGroupId = 1
            });
            databaseContext.Set <EmailAddress>().Add(new EmailAddress()
            {
                Id             = 2,
                MailingGroupId = 1
            });
            databaseContext.Set <EmailAddress>().Add(new EmailAddress()
            {
                Id             = 3,
                MailingGroupId = 2
            });
            databaseContext.Set <EmailAddress>().Add(new EmailAddress()
            {
                Id             = 4,
                MailingGroupId = 2
            });

            databaseContext.SaveChanges();

            var request = new DeleteEmailAddressRequest(emailAddressIdToDelete);

            request.SetUserId(userId);

            var result = await new DeleteEmailAddressHandler(databaseContext).Handle(request, cancellationToken);

            Assert.Multiple(() =>
            {
                Assert.IsTrue(result.Success);
                Assert.AreEqual(result.StatusCode, HttpStatusCode.OK);
                Assert.IsTrue(!databaseContext.EmailAddress.Any(x => x.Id == emailAddressIdToDelete));
            });
        }
        /// <summary>
        /// 删除发信人地址
        /// </summary>
        /// <param name="req"><see cref="DeleteEmailAddressRequest"/></param>
        /// <returns><see cref="DeleteEmailAddressResponse"/></returns>
        public DeleteEmailAddressResponse DeleteEmailAddressSync(DeleteEmailAddressRequest req)
        {
            JsonResponseModel <DeleteEmailAddressResponse> rsp = null;

            try
            {
                var strResp = this.InternalRequestSync(req, "DeleteEmailAddress");
                rsp = JsonConvert.DeserializeObject <JsonResponseModel <DeleteEmailAddressResponse> >(strResp);
            }
            catch (JsonSerializationException e)
            {
                throw new TencentCloudSDKException(e.Message);
            }
            return(rsp.Response);
        }