private static void HandleConcurrencyException(HttpActionExecutedContext ctx, ConcurrencyException e)
        {
            if (ctx.ActionContext.ControllerContext.Controller is RavenFsApiController)
            {
                ctx.Response = new HttpResponseMessage
                {
                    StatusCode = HttpStatusCode.MethodNotAllowed,
                };
            }
            else 
            {
                ctx.Response = new HttpResponseMessage
                {
                    StatusCode = HttpStatusCode.Conflict,
                };
            }

            SerializeError(ctx, new
            {
                Url = ctx.Request.RequestUri.PathAndQuery,
                ActualETag = e.ActualETag ?? Etag.Empty,
                ExpectedETag = e.ExpectedETag ?? Etag.Empty,
                Error = e.Message
            });
        }
Example #2
0
			private static void HandleConcurrencyException(IHttpContext ctx, ConcurrencyException e)
			{
				ctx.Response.StatusCode = 409;
				ctx.Response.StatusDescription = "Conflict";
				SerializeError(ctx, new
				{
					Url = ctx.Request.RawUrl,
                    ActualETag = e.ActualETag ?? Etag.Empty,
                    ExpectedETag = e.ExpectedETag ?? Etag.Empty,
					Error = e.Message
				});
			}
        private MembershipCreateStatus InterpretConcurrencyException(string username, string email, ConcurrencyException e)
        {
            if(e.Message.Contains(User.GenerateId(this.ApplicationName, username)))
                return MembershipCreateStatus.DuplicateUserName;

            if(e.Message.Contains(UniqueFieldConstraint.GenerateId(this.ApplicationName, EmailConstraintName, email)))
                return MembershipCreateStatus.DuplicateEmail;

            return MembershipCreateStatus.ProviderError;
        }
 MembershipCreateStatus InterpretConcurrencyException(string username, string email, ConcurrencyException e)
 {
     MembershipCreateStatus status;
     if (e.Message.Contains("username/" + username))
         status = MembershipCreateStatus.DuplicateUserName;
     else if (e.Message.Contains("email/" + email))
         status = MembershipCreateStatus.DuplicateEmail;
     else
     {
         status = MembershipCreateStatus.ProviderError;
     }
     return status;
 }
		private static void HandleConcurrencyException(HttpActionExecutedContext ctx, ConcurrencyException e)
		{
			ctx.Response = new HttpResponseMessage
			{
				StatusCode = HttpStatusCode.Conflict,
			};

			SerializeError(ctx, new
			{
				Url = ctx.Request.RequestUri.PathAndQuery,
				ActualETag = e.ActualETag ?? Etag.Empty,
				ExpectedETag = e.ExpectedETag ?? Etag.Empty,
				Error = e.Message
			});
		}