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; } }
/// <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; } }
/// <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; } }
/// <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; } }