Beispiel #1
0
        public IHttpActionResult  NewQuestionComment([FromBody] QuestionComment qc)
        {
            //var user = await _repository.GetUserByEmailAsync(User.Identity.Name);

            //if (user != null)
            //    qc.UserId = user.UserId;
            //else
            //    qc.UserId = new Guid("00000000-0000-0000-0000-000000000000");
            //to do   alert user not found

            //qc.User = user;

            qc.UpdateDate = DateTime.Now;
            Repository.Entities.User user = _repository.GetUserByUserName(User.Identity.Name);
            if (user != null)
            {
                qc.UserId = user.UserId;
            }
            else
            {
                qc.UserId = new Guid("0e5f76d4-7180-44e9-bc34-ced22a6d2bed");
            }

            Question questionSource = _repository.GetQuestion(qc.QuestionSource.Id);

            qc.QuestionSource = questionSource;
            RepositoryActionResult <QuestionComment> result = _repository.AddQuestionComment(qc);

            switch (result.Status)
            {
            case RepositoryActionStatus.Created:
            {
                int    newID       = result.Entity.Id;
                String UserName    = result.Entity.QuestionSource.UserName;
                String UserId      = result.Entity.UserId.ToString();
                String Description = result.Entity.Description;
                String UpdateDate  = result.Entity.UpdateDate.HasValue ? result.Entity.UpdateDate.Value.ToShortDateString() : "";
                return(Content(System.Net.HttpStatusCode.OK, newID + "*" + UserName + "*" + UserId + "*" + Description + "*" + UpdateDate));
            }

            case RepositoryActionStatus.NothingModified:
                return(Content(System.Net.HttpStatusCode.OK, "Risultato Not Modified?"));    //TODO have I to return OK?

            case RepositoryActionStatus.Error:
                return(Content(System.Net.HttpStatusCode.InternalServerError, result.Exception.InnerException.Message));

            default:
                break;
            }
            return(Content(System.Net.HttpStatusCode.Ambiguous, result.Status.ToString() + "  " + result.Entity.Description));
        }
Beispiel #2
0
        public static UserResponse ConvertTo(DbUser dbUser)
        {
            if (dbUser == null)
            {
                return(null);
            }

            return(new UserResponse()
            {
                Login = dbUser.Login,
                FullName = $"{dbUser.SecondName} {dbUser.FirstName.Substring(0, 1)}. {dbUser.MiddleName.Substring(0, 1)}.",
                RoleName = dbUser.Role.Description
            });
        }
Beispiel #3
0
        public IHttpActionResult NewAnswerComment([FromBody] AnswerComment ac)
        {
            ac.UpdateDate = DateTime.Now;
            Repository.Entities.User user = _repository.GetUserByUserName(User.Identity.Name);
            if (user != null)
            {
                ac.UserId   = user.UserId;
                ac.NickName = user.NickName;
            }
            else
            {
                ac.UserId = new Guid("0e5f76d4-7180-44e9-bc34-ced22a6d2bed");
            }

            Answer answerSource = _repository.GetAnswer(ac.AnswerSource.Id);

            ac.AnswerSource = answerSource;
            RepositoryActionResult <AnswerComment> result = _repository.AddAnswerComment(ac);

            switch (result.Status)
            {
            case RepositoryActionStatus.Created:
            {
                int    newID       = result.Entity.Id;
                String UserName    = result.Entity.AnswerSource.UserName;
                String UserId      = result.Entity.UserId.ToString();
                String Description = result.Entity.Description;
                String UpdateDate  = result.Entity.UpdateDate.HasValue ? result.Entity.UpdateDate.Value.ToShortDateString() : "";
                return(Content(System.Net.HttpStatusCode.OK, newID + "*" + UserName + "*" + UserId + "*" + Description + "*" + UpdateDate));
            }

            case RepositoryActionStatus.NothingModified:
                return(Content(System.Net.HttpStatusCode.OK, "Risultato Not Modified?"));    //TODO have I to return OK?

            case RepositoryActionStatus.Error:
                return(Content(System.Net.HttpStatusCode.InternalServerError, result.Exception.InnerException.Message));

            default:
                break;
            }
            return(Content(System.Net.HttpStatusCode.Ambiguous, result.Status.ToString() + "  " + result.Entity.Description));
        }
Beispiel #4
0
        public static User Convert(DbUser dbUser)
        {
            if (dbUser == null)
            {
                return(null);
            }

            return(new User()
            {
                Id = dbUser.Id,
                Login = dbUser.Login,
                FirstName = dbUser.FirstName,
                SecondName = dbUser.SecondName,
                MiddleName = dbUser.MiddleName,
                IsLocked = dbUser.IsLocked,
                Gender = dbUser.Gender,
                RoleId = dbUser.RoleId,
                Role = RoleConverter.Convert(dbUser.Role)
            });
        }