Exemplo n.º 1
0
        private void SendNotificationEmail(WorkScheduleModel Data, User user)
        {
            var    fromEmail         = new MailAddress("*****@*****.**", "Digital Forensics");
            var    toEmail           = new MailAddress(user.Email);
            var    fromEmailPassword = "******";
            string subject           = "Participant in a Schedule";
            string body = $"Hello {user.Surname} {user.Firstname},";

            body += $"<br /><br />You have been chosen to partcipate in a schedule.";
            body += $"<br /><br />This is the key <b>{Data.PublicKey}</b> to have access to the schedule.";
            body += "<br /><br />Please do not reply this message";
            body += "<hr />";
            body += "<br /><br />Thanks. Digital Forensics.";

            var smtp = new SmtpClient()
            {
                Host                  = "smtp.gmail.com",
                Port                  = 587,
                EnableSsl             = true,
                DeliveryMethod        = SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                Credentials           = new NetworkCredential(fromEmail.Address, fromEmailPassword)
            };

            using (var message = new MailMessage(fromEmail, toEmail)
            {
                Subject = subject,
                Body = body,
                IsBodyHtml = true,
            })
            {
                smtp.Send(message);
            }
        }
Exemplo n.º 2
0
        public int AddSchedule(WorkScheduleModel model)
        {
            var schedule = new WorkSchedule()
            {
                PublicKey   = model.PublicKey,
                NoOfActors  = model.NoOfActors,
                GeneratedBy = model.GeneratedBy,
                CreatedDate = model.CreatedDate
            };

            DataContext.WorkSchedules.Add(schedule);
            SaveAll();
            return(schedule.WID);
        }
Exemplo n.º 3
0
        public JsonResult BeginTask(WorkScheduleModel Data, string selectedKeys)
        {
            var innerEx   = string.Empty;
            var exMessage = string.Empty;

            try
            {
                Data.CreatedDate = DateTime.Now;
                Data.GeneratedBy = User.Identity.Name;
                int wid = scheduleRepo.AddSchedule(Data);
                if (wid > 0)
                {
                    PUBLICKEY = Data.PublicKey;
                    string[] userIDS = selectedKeys.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                    if (scheduleRepo.SaveActors(wid, userIDS))
                    {
                        foreach (var item in userIDS)
                        {
                            int userID = int.Parse(item);
                            var user   = userRepo.GetAllUsers().Where(x => x.UID == userID).FirstOrDefault();
                            if (user != null)
                            {
                                SendNotificationEmail(Data, user);
                            }
                        }
                        return(Json(new
                        {
                            success = true,
                            infoMessage = $"Schedule successfully started and notifications have been sent to actors for this schedule."
                        }));
                    }
                }
            }
            catch (Exception ex)
            {
                if (PUBLICKEY != string.Empty)
                {
                    scheduleRepo.RollTransaction(PUBLICKEY);
                }
                innerEx   = ex.InnerException != null ? ex.InnerException.InnerException != null ? $" {ex.InnerException.Message} {ex.InnerException.InnerException.Message}" : $" {ex.InnerException.Message}" : string.Empty;
                exMessage = ex.Message;
            }
            return(Json(new
            {
                success = -1,
                errorMessage = $"{errorMessage}<br/> <b>Error Detail</b><br/> Error Message: <b>{exMessage}</b> </br> Inner Exception Message:<b> {innerEx}</b>"
            }));
        }