Beispiel #1
0
        public HttpResponseMessage CleanAndAddAblieferndeStelle(string userId, [FromBody] UserPostData postData)
        {
            var access = this.GetManagementAccess();

            access.AssertFeatureOrThrow(ApplicationFeature.BenutzerUndRolleBenutzerverwaltungZustaendigeStelleEdit);

            var     response = new HttpResponseMessage(HttpStatusCode.OK);
            JObject result;

            try
            {
                if (access.HasRole(AccessRoles.RoleAS))
                {
                    response = new HttpResponseMessage(HttpStatusCode.Forbidden);
                }

                if (string.IsNullOrEmpty(userId))
                {
                    return(new HttpResponseMessage(HttpStatusCode.BadRequest));
                }

                if (postData == null)
                {
                    return(new HttpResponseMessage(HttpStatusCode.BadRequest));
                }

                userDataAccess.CleanAndAddAblieferndeStelleToUser(userId, postData.AblieferndeStelleIds, access.UserId);
                result = new JObject {
                    { "success", true }
                };
            }
            catch (Exception ex)
            {
                Log.Error(ex,
                          $"Fehler beim zuordnen der Abliefernde Stelle zum User; UserId:='{userId}', ablieferndeStelleId:={postData?.AblieferndeStelleIds}");
                result = new JObject {
                    { "error", ServiceHelper.GetExceptionInfo(ex) }
                };
                response = new HttpResponseMessage(HttpStatusCode.InternalServerError);
            }

            response.Content = new JsonContent(result);

            return(response);
        }