Esempio n. 1
0
        public JsonResult Edit(MentorEditRequestJsonModel mentorEditRequestJsonModel)
        {
            // Check if we need to upload new mentor avatar
            if (mentorEditRequestJsonModel.NewAvatar != null)
            {
                _usersProvider.SaveUserAvatar(
                    mentorEditRequestJsonModel.Id,
                    mentorEditRequestJsonModel.NewAvatar.InputStream,
                    mentorEditRequestJsonModel.NewAvatar.ContentType);
            }
            else if (mentorEditRequestJsonModel.IsAvatarDeleting)
            {
                // If we need to delete an existing avatar
                _usersProvider.RemoveAvatarByUserId(mentorEditRequestJsonModel.Id);
            }

            // Update information about mentor
            var mentor = _mentorMapper.FromMentorEditRequestJsonModel(mentorEditRequestJsonModel);

            mentor             = _mentorProvider.Update(mentor);
            mentor.User.Avatar = _usersProvider.GetAvatarByUserIdOrDefault(mentor.Id);

            var mentorEditResponseJsonModel = _mentorMapper.ToMentorEditResponseJsonModel(mentor);

            return(Json(mentorEditResponseJsonModel));
        }
Esempio n. 2
0
        public Mentor FromMentorEditRequestJsonModel(MentorEditRequestJsonModel mentorEditRequestJsonModel)
        {
            var mentor = new Mentor
            {
                Id = mentorEditRequestJsonModel.Id,

                User = new User
                {
                    FullName = mentorEditRequestJsonModel.FullName,

                    Contacts = new Contacts
                    {
                        UserId   = mentorEditRequestJsonModel.Id,
                        Email    = mentorEditRequestJsonModel.Email,
                        Phone    = mentorEditRequestJsonModel.Phone,
                        Skype    = mentorEditRequestJsonModel.Skype,
                        LinkedIn = mentorEditRequestJsonModel.LinkedIn
                    }
                }
            };

            return(mentor);
        }