Esempio n. 1
0
        public ResponseResult <Cookie> Post([FromBody] ReminderEmail value)
        {
            ResponseResult <Cookie> result = new ResponseResult <Cookie>();

            try
            {
                using (SmtpClient smtp = new SmtpClient())
                {
                    smtp.DeliveryMethod        = SmtpDeliveryMethod.Network;
                    smtp.UseDefaultCredentials = false;
                    smtp.EnableSsl             = true;
                    smtp.Host        = "smtp.gmail.com";
                    smtp.Port        = 587;
                    smtp.Credentials = new NetworkCredential("*****@*****.**", "Admin!23");
                    DateTime date = new DateTime();
                    // send the email
                    MailMessage mailMessage = new MailMessage();
                    mailMessage.From = new MailAddress("*****@*****.**");
                    mailMessage.To.Add(value.OwnerEmail); // value.OwnerEmail
                    var body = "Hi " + value.Name + ", <br /> This is to remind you of your appointment with us on " + value.Date.ToString("yyyy/MM/dd HH:mm:ss");
                    mailMessage.Subject = "***Reminder***";
                    AlternateView htmlView = AlternateView.CreateAlternateViewFromString(body, new ContentType("text/html"));

                    mailMessage.AlternateViews.Add(htmlView);
                    smtp.Send(mailMessage);
                }
            }
            catch (Exception e)
            {
                result.IsSuccess = false;
                result.Message   = e.Message;
            }
            return(result);
        }
Esempio n. 2
0
        public EmailModel GetEmailList()
        {
            EmailModel Model = new EmailModel();

            Model.ReminderList = new List <ReminderEmail>();
            Model.BdayList     = new List <BdayEmail>();

            //Get Reminder List
            Dictionary <string, MySqlParameter> Parameter = new Dictionary <string, MySqlParameter>();
            DataTable dt = _GenClassnew.ExecuteQuery("SP_ReminderList", Parameter);

            foreach (DataRow row in dt.Rows)
            {
                ReminderEmail reminder = new ReminderEmail();
                reminder.Name       = row.Field <string>("Name");
                reminder.ExpiryDate = row.Field <DateTime>("ExpiryDate");
                reminder.days       = Convert.ToInt32(row.Field <Int64>("days"));
                Model.ReminderList.Add(reminder);
            }

            //Get Birthday List
            DataTable dt1 = _GenClassnew.ExecuteQuery("SP_Bdayreminder", Parameter);

            foreach (DataRow row in dt1.Rows)
            {
                BdayEmail breminder = new BdayEmail();
                breminder.Name   = row.Field <string>("Name");
                breminder.Mobile = row.Field <string>("Mobile");
                breminder.Email  = row.Field <string>("Email");
                breminder.Age    = Convert.ToInt32(row.Field <Int64>("Age"));
                Model.BdayList.Add(breminder);
            }
            return(Model);
        }
Esempio n. 3
0
        private ReminderEmail GetRecheckedReminderEmail(ReminderEmail reminderEmailRecord)
        {
            reminderEmailRecord.DateChecked = VirtualDateTime.Now;
            dataRepository.SaveChanges();

            return(reminderEmailRecord);
        }
Esempio n. 4
0
        private void MarkReminderEmailAsCompleted(ReminderEmail reminderEmail, bool wasAnEmailSent)
        {
            reminderEmail.Status      = ReminderEmailStatus.Completed;
            reminderEmail.DateChecked = VirtualDateTime.Now;
            reminderEmail.EmailSent   = wasAnEmailSent;

            dataRepository.SaveChanges();
        }
Esempio n. 5
0
        private void SaveReminderEmailRecord(User user, SectorTypes sectorType)
        {
            var reminderEmailRecord = new ReminderEmail
            {
                UserId = user.UserId, SectorType = sectorType, DateSent = VirtualDateTime.Now
            };

            _SharedBusinessLogic.DataRepository.Insert(reminderEmailRecord);
            _SharedBusinessLogic.DataRepository.SaveChangesAsync().Wait();
        }
        private static void SaveReminderEmailRecord(User user, SectorTypes sectorType, bool wasAnEmailSent)
        {
            var reminderEmailRecord = new ReminderEmail
            {
                UserId      = user.UserId,
                SectorType  = sectorType,
                DateChecked = VirtualDateTime.Now,
                EmailSent   = wasAnEmailSent
            };

            var dataRepository = Global.ContainerIoC.Resolve <IDataRepository>();

            dataRepository.Insert(reminderEmailRecord);
            dataRepository.SaveChanges();
        }
Esempio n. 7
0
        private ReminderEmail CreateAndGetReminderEmailRecord(User user, SectorTypes sectorType, DateTime reminderDate)
        {
            var reminderEmailRecord = new ReminderEmail
            {
                UserId       = user.UserId,
                SectorType   = sectorType,
                DateChecked  = VirtualDateTime.Now,
                ReminderDate = reminderDate,
                EmailSent    = false,
                Status       = ReminderEmailStatus.InProgress
            };

            dataRepository.Insert(reminderEmailRecord);
            dataRepository.SaveChanges();

            return(reminderEmailRecord);
        }
Esempio n. 8
0
        private void SendReminderEmailsForReportingYear(User user, int year, ReminderEmail reminderEmail)
        {
            var snapshotDate = reminderEmail.SectorType.GetAccountingStartDate(year);

            List <Organisation> inScopeActiveOrganisationsForUserAndSectorTypeThatStillNeedToReport = user.UserOrganisations
                                                                                                      .Where(uo => uo.HasBeenActivated())
                                                                                                      .Select(uo => uo.Organisation)
                                                                                                      .Where(o => o.Status == OrganisationStatuses.Active)
                                                                                                      .Where(o => o.SectorType == reminderEmail.SectorType)
                                                                                                      .Where(OrganisationIsInScopeForSnapshotDate(snapshotDate))
                                                                                                      .Where(OrganisationHasNotReportedForSnapshotDate(snapshotDate))
                                                                                                      .ToList();

            CheckAndSendReminderEmailsForReportingYear(
                user,
                inScopeActiveOrganisationsForUserAndSectorTypeThatStillNeedToReport,
                year,
                reminderEmail);
        }
Esempio n. 9
0
        private void CheckAndSendReminderEmailsForReportingYear(
            User user,
            List <Organisation> inScopeOrganisationsForUserAndSectorTypeThatStillNeedToReport,
            int year,
            ReminderEmail reminderEmail)
        {
            bool anyOrganisationsToEmailAbout = inScopeOrganisationsForUserAndSectorTypeThatStillNeedToReport.Count > 0;

            if (anyOrganisationsToEmailAbout)
            {
                SendReminderEmailForReportingYear(
                    user,
                    reminderEmail.SectorType,
                    inScopeOrganisationsForUserAndSectorTypeThatStillNeedToReport,
                    year);
            }

            MarkReminderEmailAsCompleted(
                reminderEmail,
                anyOrganisationsToEmailAbout);
        }
Esempio n. 10
0
 private bool ReminderEmailSendingHasExpired(ReminderEmail reminderEmailRecord)
 {
     return(reminderEmailRecord.Status == ReminderEmailStatus.InProgress &&
            reminderEmailRecord.DateChecked < VirtualDateTime.Now.AddMinutes(-15));
 }
Esempio n. 11
0
    protected void ButtonSubmit_Click(object sender, EventArgs e)
    {
        try
        {
            User user = (User)Session["CurrentUser"];
            if (user == null) return;

            int aid = (ViewState["AssessmentOID"] != null) ? (Convert.ToInt32(ViewState["AssessmentOID"])) : 0;

            Assessment ass = new Assessment();
            ass = ass.GetAssessmentByOID(aid);

            ReminderEmail reminderEmail = new ReminderEmail();

            //reminderEmail.EmailBody = TextBoxEMail.Text;
            //reminderEmail.EmailBody = Server.HtmlEncode(TextBoxEMail.Text);
            reminderEmail.EmailBody = EMailBodyHtml;

            reminderEmail.AssessmentOID = aid;
            reminderEmail.CreatedBy = user.UserOID;
            reminderEmail.LastModifiedBy = user.UserOID;

            //Result Detail
            ReminderEmail rEmail = reminderEmail.GetReminderEmailByAOID(aid);
            bool status = false;
            if (rEmail == null)
            {
                status = reminderEmail.AddReminderEmail();
            }
            else
            {
                reminderEmail.AssessmentReminderOID = rEmail.AssessmentReminderOID;
                status = reminderEmail.UpdateReminderEmail();
            }

            if (status)
            {
                LabelMessage.Text = "Saved Successfully.";
                this.ShowEmailBody(aid);
            }
            else
            {
                LabelMessage.Text = "Not Saved.";
            }
        }
        catch (Exception ex)
        {
            LabelMessage.Text = "Not Saved.";
        }
    }
Esempio n. 12
0
 private void ShowEmailBody(int assessmentOID)
 {
     ReminderEmail reminderEmail = new ReminderEmail();
     reminderEmail = reminderEmail.GetReminderEmailByAOID(assessmentOID);
     if (reminderEmail == null)
     {
         //TextBoxEMail.Text = "";
         this.EMailBodyHtml = "";
     }
     else
     {
         //TextBoxEMail.Text = reminderEmail.EmailBody;
         //TextBoxEMail.Text = Server.HtmlDecode(reminderEmail.EmailBody);
         this.EMailBodyHtml = reminderEmail.EmailBody;
     }
 }
Esempio n. 13
0
    public ReminderEmail GetReminderEmailByOID(int OID)
    {
        ReminderEmail reminderEmail = null;
        using (OdbcConnection connection = new OdbcConnection(connectionString))
        {
            using (OdbcCommand command = new OdbcCommand())
            {

                command.Connection = connection;
                command.CommandText = "{CALL ReminderEmail_ByOID(?)}";
                command.CommandType = CommandType.StoredProcedure;

                //Set Parameter Value
                command.Parameters.AddWithValue("@AssessmentReminderOID", OID);

                //Open connection
                connection.Open();
                //Read using reader
                using (OdbcDataReader dataReader = command.ExecuteReader())
                {

                    ResultEmailDetail eDetail = new ResultEmailDetail();
                    if (dataReader.Read())
                    {
                        reminderEmail = new ReminderEmail();

                        reminderEmail.AssessmentOID = Convert.ToInt32(dataReader["AssessmentOID"]);
                        reminderEmail.AssessmentReminderOID = Convert.ToInt32(dataReader["AssessmentReminderOID"]);
                        reminderEmail.CreatedBy = Convert.ToInt32(dataReader["CreatedBy"]);
                        reminderEmail.CreatedDate = Convert.ToDateTime(dataReader["CreatedDate"]);
                        reminderEmail.EmailBody = Convert.ToString(dataReader["EmailBody"]);
                        reminderEmail.LastModifiedBy = Convert.ToInt32(dataReader["LastModifiedBy"]);
                        reminderEmail.LastModifiedDate = Convert.ToDateTime(dataReader["LastModifiedDate"]);
                    }
                }

            }
        }
        return reminderEmail;
    }