예제 #1
0
        public void SendEmail(ParentDTOOut parent, MarkDTOOut mark)
        {
            string        subject   = $"{mark.Student.FirstName} je dobio ocenu iz predmeta {mark.Subject.SubjectName}";
            StringBuilder emailBody = new StringBuilder();

            emailBody.AppendLine("Postovana/i,");
            emailBody.AppendLine($"Ucenik {mark.Student.FirstName} {mark.Student.LastName} je dana {mark.Mark.InsertDate} dobio ocenu {mark.Mark.MarkValue}" +
                                 $" iz predmeta {mark.Subject.SubjectName}, kod nastavnika {mark.Teacher.FirstName} {mark.Teacher.LastName}");
            emailBody.AppendLine("Srdacan pozdrav,");
            emailBody.AppendLine("Skola");
            string      body       = emailBody.ToString();
            string      FromMail   = ConfigurationManager.AppSettings["username"];
            string      emailTo    = $"{parent.Email}";
            MailMessage mail       = new MailMessage();
            SmtpClient  SmtpServer = new SmtpClient(ConfigurationManager.AppSettings["smtpServer"]);

            mail.From = new MailAddress(FromMail);
            mail.To.Add(emailTo);
            mail.Subject           = subject;
            mail.Body              = body;
            SmtpServer.Port        = int.Parse(ConfigurationManager.AppSettings["smtpPort"]);
            SmtpServer.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["username"], ConfigurationManager.AppSettings["password"]);
            SmtpServer.EnableSsl   = bool.Parse(ConfigurationManager.AppSettings["smtpSsl"]);
            logger.Info($"Sending email to {parent.Email}");
            SmtpServer.Send(mail);
        }
예제 #2
0
        public async Task <ParentDTOOut> RegisterParent(ParentDTORegister userModel)
        {
            logger.Info($"Converting Parent {userModel.UserName} to model, user service, register parent");
            Parent user = new Parent
            {
                UserName  = userModel.UserName,
                FirstName = userModel.FirstName,
                LastName  = userModel.LastName,
                Email     = userModel.Email
            };

            logger.Info($"sending model to auth repository, register parent {userModel.UserName}");
            var result = await db.AuthRepository.RegisterParent(user, userModel.Password);

            if (!result.Succeeded)
            {
                logger.Info($"Result not succeeded, register parent {userModel.UserName}");
                return(null);
            }

            logger.Info($"Searching for registered parent {userModel.UserName}");
            var userCreated = await db.AuthRepository.FindUser(userModel.UserName, userModel.Password);

            logger.Info($"Converting parent {userModel.UserName} to DTO with simple dto converter");
            ParentDTOOut parent = Utilities.ConverterDTO.SimpleDTOConverter <ParentDTOOut>(userCreated);

            return(parent);
        }
예제 #3
0
        public ParentDTOHelper GetParentByUserName(string username)
        {
            logger.Info("Accssesing db over Parent rep, get parent by udername");
            Parent parent = db.ParentsRepository.Get(filter: x => x.UserName.Contains(username)).FirstOrDefault();

            if (parent == null)
            {
                throw new ParentNotFoundException($"Parent with username {username} doesn't exist here!");
            }
            logger.Info("converting parent with SimpleDTOConverter, get parent by username");
            ParentDTOOut parentDTOOut = Utilities.ConverterDTO.SimpleDTOConverter <ParentDTOOut>(parent);
            IEnumerable <StudentDTOOutParent> studentDTOOutParent = parent.Students.Select(student => Utilities.ConverterDTO.StudentsDTOParentConverter(student));
            ParentDTOHelper parentDTOOutHelper = new ParentDTOHelper();

            parentDTOOutHelper.Parent  = parentDTOOut;
            parentDTOOutHelper.Student = studentDTOOutParent;
            return(parentDTOOutHelper);
        }
예제 #4
0
        public ParentDTOHelper GetParentById(string id)
        {
            logger.Info("Accssesing db over Parent rep, get parent by id");
            Parent parent = new Parent();

            parent = db.ParentsRepository.Get(filter: x => x.Id == id).FirstOrDefault();
            if (parent == null)
            {
                throw new ParentNotFoundException($"Parent with ID {id} doesn't exists");
            }
            logger.Info("converting parent with SimpleDTOConverter, get parent by id");
            ParentDTOOut parentDTOOut = Utilities.ConverterDTO.SimpleDTOConverter <ParentDTOOut>(parent);
            IEnumerable <StudentDTOOutParent> studentDTOOutParent = parent.Students.Select(student => Utilities.ConverterDTO.StudentsDTOParentConverter(student));
            ParentDTOHelper parentDTOOutHelper = new ParentDTOHelper();

            parentDTOOutHelper.Parent  = parentDTOOut;
            parentDTOOutHelper.Student = studentDTOOutParent;
            return(parentDTOOutHelper);
        }
예제 #5
0
        public async Task <ParentDTOOut> UpdateParent(string id, ParentDTOInUp parentInUp)
        {
            logger.Info($"Converting parent {parentInUp.UserName} with simple dto converter, user service update parent");
            Parent parent = Utilities.ConverterDTO.SimpleDTOConverter <Parent>(parentInUp);

            logger.Info($"getting user with id {parentInUp.Id}, with db.authreposito, update parent, user service ");
            AppUser user = await db.AuthRepository.FindUserById(id);

            if (user == null)
            {
                logger.Info("Throwing an user not found exception, no user found update parent, user service");
                throw new UserNotFoundException($"User with ID {id} does not exists.");
            }

            logger.Info($"Updating user {parentInUp.UserName}");
            user.FirstName = parentInUp.FirstName;
            user.LastName  = parentInUp.LastName;
            user.Email     = parentInUp.Email;
            user.UserName  = parentInUp.UserName;

            logger.Info("waiting for result from auth repository, update user, user service");
            var result = await db.AuthRepository.UpdateUser(user);

            if (!result.Succeeded)
            {
                logger.Info("Update has failed, result not succeeded, user service");
                return(null);
            }

            logger.Info("Getting updated user with auth repository");
            var userUpdated = await db.AuthRepository.FindUserById(parentInUp.Id);

            logger.Info("Convertin user to parent dto");
            ParentDTOOut parentDTO = Utilities.ConverterDTO.SimpleDTOConverter <ParentDTOOut>(userUpdated);

            return(parentDTO);
        }