예제 #1
0
파일: ToDoController.cs 프로젝트: MrDSV/API
        public async Task <IActionResult> GetToDoAsync(string userId, string todoId)
        {
            var UserIdfromTokken = HttpContext.User.FindFirst(p => p.Type == "sub").Value;

            if (UserIdfromTokken == null || userId != UserIdfromTokken)
            {
                var error = ServiceErrorResponses.AuthIsNotConfirmed("Unauthorized request");
            }

            var todoServ = new ToDoService(UserIdfromTokken);

            if (!int.TryParse(todoId, out var ToDoIdCheck))
            {
                var error = ServiceErrorResponses.ToDoNotFound(todoId);
                return(this.NotFound(error));
            }

            var todoIdGet = todoServ.Get(ToDoIdCheck);

            if (todoIdGet == null)
            {
                var error = ServiceErrorResponses.ToDoNotFound(todoId);
                return(this.NotFound(error));
            }

            return(this.Ok(todoIdGet));
        }
예제 #2
0
파일: ToDoController.cs 프로젝트: MrDSV/API
        public async Task <IActionResult> PatchToDoAsync([FromRoute] string userId, string todoId, [FromBody] ToDoUpdateInfo updInfo)
        {
            var UserIdfromTokken = HttpContext.User.FindFirst(p => p.Type == "sub").Value;

            if (UserIdfromTokken == null || userId != UserIdfromTokken)
            {
                var error = ServiceErrorResponses.AuthIsNotConfirmed("Unauthorized request");
            }

            var todoServ = new ToDoService(UserIdfromTokken);

            if (!int.TryParse(todoId, out var ToDoIdCheck))
            {
                var error = ServiceErrorResponses.ToDoNotFound(todoId);
                return(this.NotFound(error));
            }

            var todoIdPatch = todoServ.Get(ToDoIdCheck);

            if (todoIdPatch == null)
            {
                var error = ServiceErrorResponses.ToDoNotFound(todoId);
                return(this.NotFound(error));
            }

            var updated = false;

            if (updInfo.Text != null)
            {
                todoIdPatch.Text = updInfo.Text;
                updated          = true;
            }

            if (updInfo.IsDone != null)
            {
                todoIdPatch.IsDone = updInfo.IsDone.Value;
                updated            = true;
            }

            if (!updated)
            {
                var error = ServiceErrorResponses.BodyIsMissingOrUncorrect(updInfo.ToString());
                return(this.BadRequest(error));
            }

            todoIdPatch.LastUpdatedAt = DateTime.UtcNow;

            todoServ.Update(ToDoIdCheck, todoIdPatch);

            var clientToDo = ToDoConverter.Convert(todoIdPatch);

            return(this.Ok(clientToDo));
        }
예제 #3
0
파일: ToDoController.cs 프로젝트: MrDSV/API
        public async Task <IActionResult> SearchUserToDoListAsync(string userId)
        {
            var UserIdfromTokken = HttpContext.User.FindFirst(p => p.Type == "sub").Value;

            if (UserIdfromTokken == null || userId != UserIdfromTokken)
            {
                var error = ServiceErrorResponses.AuthIsNotConfirmed("Unauthorized request");
            }

            var todoServ = new ToDoService(UserIdfromTokken);

            var todoIdGet = todoServ.Get();

            if (todoIdGet.IsNullOrEmpty())
            {
                var error = ServiceErrorResponses.ToDoNotFound("this user");
                return(this.NotFound(error));
            }

            return(this.Ok(todoIdGet));
        }