public IActionResult GetStudentProfile()
        {
            try
            {
                var studentProfileDto = new StudentProfileDto()
                {
                    Name           = "",
                    Description    = "",
                    FacultyId      = "",
                    FacultyName    = "",
                    Specialization = "",
                    StudyYear      = 1,
                    Email          = "",
                    Telephone      = "",
                    City           = ""
                };
                var studentProfile = _studentProfileRepository.Get(User.FindFirst(JwtRegisteredClaimNames.Sid).Value);
                if (studentProfile != null)
                {
                    studentProfileDto = Mapper.Map <StudentProfileDto>(studentProfile);
                }

                return(Ok(studentProfileDto));
            }
            catch (Exception ex)
            {
                _logger.LogCritical($"An exception was thrown: ", ex);
                return(StatusCode(500, "A problem happend while handeling your request."));
            }
        }
Ejemplo n.º 2
0
        public IActionResult Edit(StudentProfileDto profile)
        {
            int id = _userService.UserId;

            Data.Models.Student user = _userRepository.GetById(id) as Data.Models.Student;

            _mapper.Map(profile, user);
            _db.SaveChanges();

            return(Ok());
        }
Ejemplo n.º 3
0
        public StudentProfileDto CreateStudentProfile(StudentProfile model)
        {
            var studentObjDto = new StudentProfileDto();

            using (var context = new DataContext(ConnectionString))
            {
                studentProfileRepo = new Repository <StudentProfile>(context);

                studentProfileRepo.Add(model);
                studentProfileRepo.CommitAndRefreshChanges();

                var mappedObject = Map(model, studentObjDto, typeof(StudentModel), typeof(StudentDto));

                studentObjDto = mappedObject as StudentProfileDto;
            }
            return(studentObjDto);
        }
Ejemplo n.º 4
0
        public StudentProfileDto GetStudentProfileById(Guid id)
        {
            var dtos = new StudentProfileDto();

            using (var context = new DataContext(ConnectionString))
            {
                studentProfileRepo = new Repository <StudentProfile>(context);

                var objs = studentProfileRepo.Get(id);

                var mappedObject = Map(objs, dtos, typeof(List <StudentProfile>), typeof(List <StudentProfileDto>));

                dtos = mappedObject as StudentProfileDto;
            }

            return(dtos);
        }
        public IActionResult CreateUpdateStudentProfile([FromBody] StudentProfileDto studentProfileDto)
        {
            try
            {
                var profileid = User.FindFirst(JwtRegisteredClaimNames.Sid).Value;
                // Validation
                if (studentProfileDto == null)
                {
                    return(BadRequest());
                }

                // Create the new object
                var flagCreate     = false;
                var studentProfile = _studentProfileRepository.Get(profileid);
                if (studentProfile == null)
                {
                    flagCreate     = true;
                    studentProfile = new StudentProfile
                    {
                        UserId = profileid
                    };
                }
                Mapper.Map(studentProfileDto, studentProfile);

                // Save to DB
                if (flagCreate)
                {
                    _studentProfileRepository.Add(studentProfile);
                }
                if (!_studentProfileRepository.Save())
                {
                    return(StatusCode(500, "A problem happend while handeling your request."));
                }

                var studentProfileDtoToReturn = Mapper.Map <StudentProfileDto>(studentProfile);

                return(CreatedAtRoute("GetStudentProfile", studentProfileDtoToReturn));
            }
            catch (Exception ex)
            {
                _logger.LogCritical($"An exception was thrown: ", ex);
                return(StatusCode(500, "A problem happend while handeling your request."));
            }
        }
Ejemplo n.º 6
0
        public ActionResult <ApiResponse <int> > SendMail(int id, StudentMailDto emailDto)
        {
            var response = new ApiResponse <int>();

            try
            {
                StudentProfileDto student   = _mapper.Map <StudentProfileDto>(_studentRepository.Profile(id));
                ReasonDto         reasonDto = _mapper.Map <ReasonDto>(_reasonRepository.Find(r => r.Id == emailDto.ReasonId));
                if (student != null && reasonDto != null)
                {
                    StreamReader reader = new StreamReader(Path.GetFullPath("Templates/Email.html"));
                    string       body   = string.Empty;
                    body = reader.ReadToEnd();
                    //body = body.Replace("{username}", emailDto.Body);
                    body = body.Replace("{username}", "Enviado por, " + student.User.Name + " " + student.User.LastName + " " + student.User.MotherName);
                    body = body.Replace("{pass}", emailDto.Body);

                    Email email = new Email();
                    email.To         = reasonDto.Target;
                    email.Subject    = reasonDto.Title;
                    email.Body       = body;
                    email.IsBodyHtml = true;
                    _emailService.SendEmail(email);

                    response.Message = "El correo se ha enviado correctamente";
                    response.Result  = id;
                }
                else
                {
                    response.Success = false;
                    response.Message = "Hubo un error, intenta mas tarde";
                }
            }
            catch (Exception ex)
            {
                response.Result  = 0;
                response.Success = false;
                response.Message = "Internal server error";
                _logger.LogError($"Something went wrong: { ex.ToString() }");
                return(StatusCode(500, response));
            }

            return(Ok(response));
        }
Ejemplo n.º 7
0
 public IHttpActionResult updateStudentProfile(StudentProfileDto profileDto)
 {
     using (ApplicationDbContext db = new ApplicationDbContext())
     {
         string name    = User.Identity.Name;
         var    profile = db.studentProfiles.FirstOrDefault(x => x.UserName == name);
         if (profile == null)
         {
             profile = new StudentProfile()
             {
                 UserName = User.Identity.Name
             };
             db.studentProfiles.Add(profile);
         }
         profile.IsActive = profileDto.IsActive.AsBool();
         db.SaveChanges();
         return(Ok());
     }
 }
Ejemplo n.º 8
0
        public StudentProfileDto UpdateStudentProfile(Guid id, StudentProfile model)
        {
            var dto = new StudentProfileDto();

            using (var context = new DataContext(ConnectionString))
            {
                studentProfileRepo = new Repository <StudentProfile>(context);

                var _objToUpdate = studentProfileRepo.Get(id);
                if (_objToUpdate != null && _objToUpdate.Id != Guid.Empty)
                {
                    // properties of the object to be updated
                    studentProfileRepo.Modify(model);

                    var mappedObject = Map(model, dto, typeof(StudentModel), typeof(StudentDto));

                    dto = mappedObject as StudentProfileDto;
                    return(dto);
                }
            }
            return(null);
        }
Ejemplo n.º 9
0
        public ActionResult <ApiResponse <StudentProfileDto> > UpdateProfileDocuments(int id, StudentProfileDto profileDto)
        {
            var response = new ApiResponse <StudentProfileDto>();
            StudentUpdateDto updateDto = _mapper.Map <StudentUpdateDto>(profileDto);

            try
            {
                var stu = _studentRepository.Find(st => st.Id == id);
                updateDto.Activated = stu.Activated;
                updateDto.Active    = stu.Active;
                if (stu != null)
                {
                    foreach (DocumentDto item in profileDto.Documents)
                    {
                        var doc = _documentRepository.Find(p => p.Id == item.Id);
                        if (doc == null)
                        {
                            //insert
                            Document document = _documentRepository.Add(_mapper.Map <Document>(item));
                            //response.Result = _mapper.Map<UserDto>(user);
                        }
                        else
                        {
                            //update
                            _mapper.Map(item, doc);
                            _documentRepository.Update(doc, item.Id);
                        }
                    }
                    var usr = _userRepository.Find(us => us.Id == updateDto.UserId);
                    _mapper.Map(profileDto.User, usr);
                    _userRepository.Update(usr, updateDto.UserId);
                    _mapper.Map(updateDto, stu);
                    _studentRepository.Update(stu, id);
                    response.Message = "Los cambios se guardaron correctamente";
                    response.Result  = _mapper.Map <StudentProfileDto>(_studentRepository.Find(u => u.Id == id));
                }
                else
                {
                    response.Success = false;
                    response.Message = "El estudiante no existe, favor de verificar";
                }
            }
            catch (Exception ex)
            {
                response.Result  = null;
                response.Success = false;
                response.Message = "Internal server error";
                _logger.LogError($"Something went wrong: { ex.ToString() }");
                return(StatusCode(500, response));
            }
            return(Ok(response));
        }