예제 #1
0
 public static void Delete(int id, string connectionUsername)
 {
     try
     {
         CustomDbContext dc     = Gateway.GetContext(connectionUsername);
         Message         result = dc.Messages.FirstOrDefault(row => row.Id == id);
         dc.Messages.Remove(result);
         dc.SaveChanges();
     }
     catch (Exception ex)
     {
         ExceptionHandler.HandleExcepion(ex, "()EFDataSourceLayer.MessageGateway.Delete(int id, string connectionUsername)");
         throw;
     }
 }
예제 #2
0
 /// <summary>
 /// Производит вставку письма в таблицу
 /// </summary>
 public static int Insert(Message message, string connectionUsername)
 {
     try
     {
         Message         depletedMessage = TranslateToDepletedMessageObject(message);
         CustomDbContext dc = Gateway.GetContext(connectionUsername);
         dc.Messages.Add(depletedMessage);
         dc.SaveChanges();
         return((int)depletedMessage.Id);
     }
     catch (Exception ex)
     {
         ExceptionHandler.HandleExcepion(ex, "(int)EFDataSourceLayer.MessageGateway.Insert(Message message, string username)");
         throw;
     }
 }
예제 #3
0
 /// <summary>
 /// Добавляет нового адресата к письму
 /// </summary>
 /// <param name="recipient"></param>
 public static void Insert(Recipient recipient, string connectionUsername)
 {
     try
     {
         Recipient       depletedRecipient = TranslateToDepletedRecipientObject(recipient);
         CustomDbContext dc = Gateway.GetContext(connectionUsername);
         dc.Recipients.Add(depletedRecipient);
         dc.SaveChanges();
         MessageGateway.Update((int)recipient.MessageId, connectionUsername);
     }
     catch (Exception ex)
     {
         ExceptionHandler.HandleExcepion(ex, "()DataSourceLayer.RecipientGateway.Insert(Recipient recipient, string username)");
         throw;
     }
 }
예제 #4
0
 /// <summary>
 /// Обновляет флаг прочитанности у строки таблицы Recipient
 /// </summary>
 /// <param name="username"></param>
 /// <param name="messageId"></param>
 /// <param name="viewed"></param>
 public static void Update(string recipientUsername, int messageId, bool viewed, string connectionUsername)
 {
     try
     {
         CustomDbContext dc     = Gateway.GetContext(connectionUsername);
         Recipient       result = dc.Recipients.FirstOrDefault(row => string.Compare(row.RecipientUsername, recipientUsername) == 0 &&
                                                               row.MessageId == messageId);
         result.Viewed = viewed;
         dc.SaveChanges();
         MessageGateway.Update(messageId, connectionUsername);
     }
     catch (Exception ex)
     {
         ExceptionHandler.HandleExcepion(ex, "()EFDataSourceLayer.RecipientGateway.Update(string recipientUsername, int messageId, bool viewed, string connectionUsername)");
         throw;
     }
 }