internal bool GetByDate(System.DateTime date, out MailCollection mails) { mails = null; bool res = false; try { mails = new MailCollection(); _query.Parameters.Clear(); _query.Parameters.Add(new SqlParameter("@SendTime", Utils.GetDbTime(date))); res = _query.ExecuteReader("MailsGetByDate", MapMailToObject, mails); } catch (Exception ex) { try { DomainModel.Application.Status.Update( StatusController.Abstract.StatusTypes.Error, "", ex.Message); } catch (Exception) { } } return(res); }
public ActionResult GetMailsByDate(Int64 initial, Int64 final, Int64 mailAccountId = 0) { DateTime initialDate = AsyncMailsController.ConvertFromJS(initial); DateTime finalDate = AsyncMailsController.ConvertFromJS(final); ISession session = NHibernateManager.OpenSession(); try { MailCollection accountMails; List <Object> mailsToReturn = new List <object>(); User currentUser = (User)Session[AccountController.USER_NAME]; foreach (MailAccount mailAccount in currentUser.GetAccounts()) { accountMails = new MailCollection(mailAccount.GetMailsByDate(initialDate, finalDate, session)); mailsToReturn.AddRange(this.PrepareHomeMails(accountMails)); } JsonResult result = Json(new { success = true, mails = mailsToReturn }, JsonRequestBehavior.AllowGet); return(result); } catch (Exception exc) { Log.LogException(exc, "Fechas del metodo: initialDate(" + initialDate.ToString() + "), finalDate(" + finalDate.ToString() + ")."); return(Json(new { success = false, message = "Error al obtener los mails." }, JsonRequestBehavior.AllowGet)); } finally { session.Close(); } }
/* * public void SetDataSource(Entities.MailCollection mails) * { * if (_datasource != null) * { * _datasource.ListChanged -= DatasourceListChanged; * } * * _datasource = mails; * if (_datasource != null) * { * _datasource.ListChanged += DatasourceListChanged; * } * * SetObjects(mails); * }*/ void DatasourceListChanged(object sender, ListChangedEventArgs e) { if (IsDisposed || Disposing) { return; } try { if (_bindingSource != null && _bindingSource.DataSource != null) { MailCollection mails = (MailCollection)_bindingSource.DataSource; if (mails.Count > 0) { SetObjects(mails); SelectObject(mails[0]); Focus(); return; } } SetObjects(null); } catch (Exception) { } }
private static void Sync(MailCollection mails, MailCollection newMails) { MailCollection remove = new MailCollection(); foreach (Mail mail in mails) { if (!newMails.Contains(mail)) { remove.Add(mail); } } foreach (Mail mail in remove) { mails.Remove(mail); } foreach (Mail mail in newMails) { if (!mails.Contains(mail)) { mails.Add(mail); } } }
private void MapMailToObject(SqlDataReader reader, object userData) { MailCollection mails = (MailCollection)userData; Mail mail = new Mail(); mail.Id = Utils.GetSafeInt32(reader, "MailId"); mail.Title = Utils.GetSafeString(reader, "MailTitle"); mail.Text = Utils.GetSafeString(reader, "MailText"); //mail.IsDirty = false; mails.Add(mail); }
public override MailCollection GetEmails(int emailsCount) { MailCollection emails = new MailCollection(); using (SqlConnection connection = new SqlConnection(this._connectionString)) { SqlCommand command = new SqlCommand("gopi_GetEmails", connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.AddWithValue("Count", emailsCount); connection.Open(); using (SqlDataReader reader = command.ExecuteReader()) { XmlSerializer serializer = new XmlSerializer(typeof(SerializableMailMessage)); while (reader.Read()) { SerializableMailMessage email = new SerializableMailMessage(); string stringData = (string)reader["EmailData"]; MemoryStream memoryStream = new MemoryStream(); byte[] data = Encoding.Unicode.GetBytes(stringData); Encoding.Convert(Encoding.Default, Encoding.UTF8, data); memoryStream.Write(data, 0, data.Length); memoryStream.Position = 0; email = (SerializableMailMessage)serializer.Deserialize(memoryStream); email.ID = new Guid(reader["ID"].ToString()); email.DateAdded = (DateTime)reader["DateAdded"]; emails.Add(email); } } connection.Close(); command.Dispose(); } return emails; }
public FrmMailBox() { InitializeComponent(); //this.tlpMain.BackColor = this.BackColor; tlpMain.Controls.Add(new WorkbenchViewButton(), 1, 0); tabMain.ImageList = new ImageList(); tabMain.ImageList.Images.Add(DomainModel.Application.ResourceManager.GetImage("mail")); tabMain.ImageList.Images.Add(DomainModel.Application.ResourceManager.GetImage("mails_stack")); tbpToday.ImageIndex = 0; tbpAll.ImageIndex = 1; _todayMails = new MailCollection(); this.mbxToday.DataSource = _todayMails; // UNDONE: Do this in a thread DomainModel.Mails.LoadByDate(DateTime.Now, _todayMails); }
public static void LoadByDate(DateTime date, MailCollection mails) { try { MailCollection newMails; _mailsRepo.GetByDate(date, out newMails); Sync(mails, newMails); } catch (Exception ex) { try { DomainModel.Application.Status.Update( StatusController.Abstract.StatusTypes.Error, "", ex.Message); } catch (Exception) { } } }
private List <Object> PrepareHomeMails(MailCollection mails) { List <Object> preparedMails = new List <Object>(); foreach (MailEntity mail in mails) { DateTime mailDate = DateTimeHelper.ChangeToUtc(mail.Date); Double currentAge = DateTimeHelper.GetAgeInSeconds(mailDate); List <Object> currentLabels = PrepareLabels(mail.Labels); Object anEmail = new { id = mail.Id, subject = mail.Subject, date = mailDate, age = currentAge, from = new { address = mail.From.MailAddress, name = mail.From.Name }, to = mail.ToAddress, cc = mail.CC, bcc = mail.BCC, bodypeek = mail.BodyPeek, tid = mail.Gm_tid, seen = mail.Seen, flagged = mail.Flagged, labels = currentLabels, importance = mail.Importance, mailaccount = mail.MailAccountEntity.Id, has_attachments = mail.HasExtras }; preparedMails.Add(anEmail); } return(preparedMails); }