Beispiel #1
0
        public async Task <ActionResult <UserTask> > Post(IncomingUserTask task)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var id       = Convert.ToInt32(User.Claims.SingleOrDefault(claim => claim.Type == "UserId").Value);
                    var userTask = new UserTask()
                    {
                        TaskDate = DateTime.ParseExact(task.TaskNumber.Substring(0, 8), "yyyyMMdd", null, DateTimeStyles.None),
                        Number   = Convert.ToInt32(task.TaskNumber.Substring(9, 4)),
                        Date     = task.Date,
                        Status   = task.Status,
                        Comment  = task.Comment,
                        UserId   = id
                    };
                    repository.Add(userTask);
                    await repository.SaveChangesAsync();

                    return(Ok(userTask));
                }
                else
                {
                    return(BadRequest());
                }
            }
            catch (Exception)
            {
                return(BadRequest());
            }
        }
        public async Task <ActionResult <IncomingUserTask> > Post(IncomingUserTask task)
        {
            if (ModelState.IsValid)
            {
                var taskNumber = new TaskNumber(task.TaskNumber);

                if (taskNumber.IsValid)
                {
                    var userTask = new UserTask()
                    {
                        TaskDate = taskNumber.Date,
                        Number   = taskNumber.Number,
                        Date     = task.Date,
                        Status   = task.Status,
                        Comment  = task.Comment,
                        UserId   = GetUsedId()
                    };

                    try
                    {
                        taskrepository.Add(userTask);
                        await taskrepository.SaveChangesAsync();

                        return(Ok(task));
                    }
                    catch (Exception)
                    {
                        return(StatusCode(StatusCodes.Status500InternalServerError, "Repository failure"));
                    }
                }
                else
                {
                    return(BadRequest());
                }
            }
            else
            {
                return(BadRequest());
            }
        }