/// <summary> /// Maps the alert template data from service. /// </summary> /// <param name="alertTemplateResults">The alert template results.</param> /// <returns> /// alert template data /// </returns> private static ListResult<Entities.AlertType> MapAlertTemplateDataListFromService(ListResult<AlertTemplate> alertTemplateResults) { var result = new ListResult<Entities.AlertType>(); var alertTemplate = new AlertTypeCollection(); foreach (var alert in alertTemplateResults.Items) { var alertTemplateData = new Entities.AlertType(); alertTemplateData.Description = alert.Description; alertTemplateData.ModifiedBy = alert.LastModifiedBy; alertTemplateData.AlertTypeId = alert.AlertTemplateId; alertTemplateData.IsTemplate = true; alertTemplateData.IsMessage = false; alertTemplateData.TypeId = alert.AlertTypeId; alertTemplate.Add(alertTemplateData); } result.AssignItems(alertTemplate); return result; }
/// <summary> /// Maps the message data from service. /// </summary> /// <param name="messageData">The message data.</param> /// <returns>Alert type list</returns> private static ListResult<Entities.AlertType> MapMessageDataListFromService(ListResult<Message> messageData) { var result = new ListResult<Entities.AlertType>(); var messages = new AlertTypeCollection(); foreach (var message in messageData.Items) { var messagesData = new Entities.AlertType(); messagesData.AddedBy = message.AddedBy; messagesData.AddedDate = message.AddedDate.GetValueOrDefault(); messagesData.Description = message.Description; messagesData.DueDate = message.DueDate; messagesData.ExpiryDate = message.ExpiryDate; messagesData.ModifiedBy = message.LastModifiedBy; messagesData.AlertTypeId = message.MessageId; messagesData.MessageFrom = message.MessageFrom; messagesData.IsMessage = true; messagesData.IsTemplate = false; messagesData.IsSoundEnable = message.IsSoundEnable; foreach (var personMessages in message.PersonMessages) { var personMessage = new Entities.Alert(); personMessage.PersonId = personMessages.PersonId; personMessage.PersonTypeId = personMessages.PersonTypeId; personMessage.ShipId = personMessages.ShipId; personMessage.VoyageId = personMessages.VoyageId; personMessage.StatusId = personMessages.StatusId; personMessage.AlertTypeId = personMessages.MessageId; personMessage.PersonAlertId = personMessages.PersonMessageId; messagesData.Alerts.Add(personMessage); } messages.Add(messagesData); } result.AssignItems(messages); return result; }
/// <summary> /// Maps the alert template data from service. /// </summary> /// <param name="messageTemplateResults">The message template results.</param> /// <returns> /// Message template data /// </returns> private static ListResult<Entities.AlertType> MapMessageTemplateDataListFromService(ListResult<MessageTemplate> messageTemplateResults) { var result = new ListResult<Entities.AlertType>(); var messageTemplate = new AlertTypeCollection(); foreach (var message in messageTemplateResults.Items) { var messageTempalteData = new Entities.AlertType(); messageTempalteData.Description = message.Description; messageTempalteData.ModifiedBy = message.LastModifiedBy; messageTempalteData.AlertTypeId = message.MessageTemplateId; messageTempalteData.IsTemplate = true; messageTempalteData.IsMessage = true; messageTemplate.Add(messageTempalteData); } result.AssignItems(messageTemplate); return result; }
/// <summary> /// Maps the message template data update. /// </summary> /// <param name="alertCollection">The alert collection.</param> /// <returns>Message template data</returns> private static MessageTemplate MapMessageTemplateDataUpdate(AlertTypeCollection alertCollection) { var messageTemplateData = new MessageTemplate(); foreach (var messageTemplate in alertCollection) { messageTemplateData.Description = messageTemplate.Description; if (!string.IsNullOrEmpty(messageTemplate.AlertTypeId)) { messageTemplateData.MessageTemplateId = messageTemplate.AlertTypeId; messageTemplateData.LastModifiedBy = messageTemplate.ModifiedBy; } messageTemplateData.Name = messageTemplate.Description; } return messageTemplateData; }
/// <summary> /// Maps the alert data from database. /// </summary> /// <param name="alertData">The alert data.</param> /// <returns> /// Alert type list /// </returns> private static ListResult<Entities.AlertType> MapAlertDataListFromService(ListResult<Entities.PersonNotification.Alert> alertData) { var result = new ListResult<Entities.AlertType>(); var alerts = new AlertTypeCollection(); foreach (var alert in alertData.Items) { Entities.AlertType alertTypeData = new Entities.AlertType(); alertTypeData.AlertTypeId = alert.AlertId; alertTypeData.AddedBy = alert.AddedBy; alertTypeData.AddedDate = alert.AddedDate; alertTypeData.Description = alert.Description; alertTypeData.DueDate = alert.DueDate; alertTypeData.ExpiryDate = alert.ExpiryDate; alertTypeData.IsOverride = alert.IsOverride; alertTypeData.IsSoundEnable = alert.IsSoundEnable; alertTypeData.ModifiedBy = alert.LastModifiedBy; alertTypeData.IsMessage = false; alertTypeData.IsTemplate = false; alertTypeData.DepartmentId = alert.DepartmentId; foreach (var applicationIds in alert.AlertTargetApplications) { alertTypeData.ApplicationId = applicationIds.ApplicationId; } alertTypeData.TypeId = alert.AlertTypeId; foreach (var personAlerts in alert.PersonAlerts) { Entities.Alert personAlert = new Entities.Alert(); personAlert.PersonId = personAlerts.PersonId; personAlert.PersonTypeId = personAlerts.PersonTypeId; personAlert.ShipId = personAlerts.ShipId; personAlert.VoyageId = personAlerts.VoyageId; personAlert.StatusId = personAlerts.StatusId; personAlert.AlertTypeId = personAlerts.AlertId; personAlert.PersonAlertId = personAlerts.PersonAlertId; alertTypeData.Alerts.Add(personAlert); } alerts.Add(alertTypeData); } result.AssignItems(alerts); return result; }
/// <summary> /// Maps the alert template data update. /// </summary> /// <param name="alertCollection">The alert collection.</param> /// <returns>Alert template data</returns> private static AlertTemplate MapAlertTemplateDataUpdate(AlertTypeCollection alertCollection) { var alertTemplateData = new AlertTemplate(); foreach (var alertTemplate in alertCollection) { if (!string.IsNullOrEmpty(alertTemplate.AlertTypeId)) { alertTemplateData.AlertTemplateId = alertTemplate.AlertTypeId; alertTemplateData.LastModifiedBy = alertTemplate.ModifiedBy; } alertTemplateData.AlertTypeId = alertTemplate.TypeId; alertTemplateData.Description = alertTemplate.Description; alertTemplateData.Code = alertTemplate.Description; } return alertTemplateData; }
/// <summary> /// Maps the message template data. /// </summary> /// <param name="alertCollection">The alert collection.</param> /// <returns>Message template data</returns> private static MessageTemplate MapMessageTemplateData(AlertTypeCollection alertCollection) { var messageTemplateData = new MessageTemplate(); foreach (var messageTemplate in alertCollection) { messageTemplateData.Description = messageTemplate.Description; messageTemplateData.Name = messageTemplate.Description; } return messageTemplateData; }
/// <summary> /// Maps the alert template data. /// </summary> /// <param name="alertCollection">The alert collection.</param> /// <returns>Alert template data</returns> private static AlertTemplate MapAlertTemplateData(AlertTypeCollection alertCollection) { var alertTemplateData = new AlertTemplate(); foreach (var alertTemplate in alertCollection) { alertTemplateData.AlertTypeId = alertTemplate.TypeId; alertTemplateData.Description = alertTemplate.Description; alertTemplateData.Code = alertTemplate.Description; } return alertTemplateData; }
/// <summary> /// Maps the message data. /// </summary> /// <param name="alertCollection">The alert collection.</param> /// <returns>Message data</returns> private static Message MapMessageData(AlertTypeCollection alertCollection) { var messageData = new Message(); foreach (var message in alertCollection) { messageData.Description = message.Description; messageData.DueDate = message.DueDate; messageData.Name = message.Description; messageData.ExpiryDate = message.ExpiryDate; messageData.MessageFrom = message.MessageFrom; messageData.IsSoundEnable = message.IsSoundEnable; foreach (var personMessage in message.Alerts) { var personMessageData = new PersonMessage(); personMessageData.MessageId = personMessage.AlertTypeId; personMessageData.PersonId = personMessage.PersonId; personMessageData.PersonTypeId = personMessage.PersonTypeId; personMessageData.ShipId = personMessage.ShipId; personMessageData.VoyageId = personMessage.VoyageId; if (!string.IsNullOrEmpty(personMessage.StatusId) && personMessage.StatusId.Equals("2")) { personMessageData.StatusId = personMessage.StatusId; } else { personMessageData.StatusId = "1"; } messageData.PersonMessages.Add(personMessageData); } var applicationId = new AlertTargetApplication(); applicationId.ApplicationId = message.ApplicationId; messageData.AlertTargetApplications.Add(applicationId); if (!string.IsNullOrEmpty(message.AlertTypeId)) { messageData.MessageId = message.AlertTypeId; messageData.LastModifiedBy = message.ModifiedBy; } else { messageData.AddedBy = message.AddedBy; } } return messageData; }
/// <summary> /// Maps the alert data. /// </summary> /// <param name="alertCollection">The alert collection.</param> /// <returns>Alert data</returns> private static Entities.PersonNotification.Alert MapAlertData(AlertTypeCollection alertCollection) { var alertData = new Entities.PersonNotification.Alert(); foreach (var alert in alertCollection) { if (!string.IsNullOrEmpty(alert.AlertTypeId)) { alertData.AlertId = alert.AlertTypeId; alertData.LastModifiedBy = alert.ModifiedBy; } else { alertData.AddedBy = alert.AddedBy; } foreach (var personAlert in alert.Alerts) { var personAlertData = new PersonAlert(); personAlertData.AlertId = personAlert.AlertTypeId; personAlertData.PersonId = personAlert.PersonId; personAlertData.PersonTypeId = personAlert.PersonTypeId; personAlertData.ShipId = personAlert.ShipId; personAlertData.VoyageId = personAlert.VoyageId; if (!string.IsNullOrEmpty(personAlert.StatusId) && personAlert.StatusId.Equals("2")) { personAlertData.StatusId = personAlert.StatusId; } else { personAlertData.StatusId = "1"; } alertData.PersonAlerts.Add(personAlertData); } var applicationId = new AlertTargetApplication(); applicationId.ApplicationId = alert.ApplicationId; alertData.AlertTargetApplications.Add(applicationId); alertData.AlertTypeId = alert.TypeId; alertData.Description = alert.Description; alertData.DueDate = alert.DueDate; alertData.ExpiryDate = alert.ExpiryDate; alertData.IsOverride = alert.IsOverride; alertData.IsSoundEnable = alert.IsSoundEnable; alertData.DepartmentId = alert.DepartmentId; } return alertData; }
/// <summary> /// Updates the asynchronous. /// </summary> /// <param name="alertTypeId">The alertType identifier.</param> /// <param name="alertCollection">The alert collection.</param> /// <returns> /// Task containing nothing /// </returns> public async Task UpdateAsync(string alertTypeId, AlertTypeCollection alertCollection) { bool isAlertOrMessage; foreach (var alert in alertCollection) { isAlertOrMessage = alert.Alerts.Any(alertData => !string.IsNullOrEmpty(alertData.PersonId)); if (alert.IsMessage) { if (isAlertOrMessage) { await this.messageClient.UpdateAsync( messageId: alertTypeId, messageData: JsonConvert.SerializeObject(MapMessageData(alertCollection))); } if (alert.IsTemplate) { if (isAlertOrMessage) { ListResult<Entities.AlertType> messageTemplate; ////Name and Desc are Same. var task = await this.messageTemplateClient.GetListAsync( name: alert.Description, pageNumber: 1, maxResults: int.MaxValue); messageTemplate = !string.IsNullOrEmpty(task) ? MapMessageTemplateDataListFromService(JsonConvert.DeserializeObject<ListResult<MessageTemplate>>(task)) : default(ListResult<Entities.AlertType>); if (messageTemplate == null || messageTemplate.Items.Count == 0 || (messageTemplate.Items.Count > 0 && messageTemplate.Items.Any(messageTemplateData => !messageTemplateData.Description.Equals(alert.Description, StringComparison.OrdinalIgnoreCase)))) { await this.messageTemplateClient.CreateAsync(messageTemplate: JsonConvert.SerializeObject(MapMessageTemplateData(alertCollection))); } } else { await this.messageTemplateClient.UpdateAsync(messageTemplateId: alertTypeId, messageTemplate: JsonConvert.SerializeObject(MapMessageTemplateDataUpdate(alertCollection))); } } } else if (!alert.IsMessage) { if (isAlertOrMessage) { await this.alertClient.UpdateAlertAsync(alertId: alertTypeId, alertData: JsonConvert.SerializeObject(MapAlertData(alertCollection))); } if (alert.IsTemplate) { if (isAlertOrMessage) { ListResult<Entities.AlertType> alertTemplate; ////Code and description are same var task = await this.alertTemplateClient.ListAsync(code: alert.Description, pageNumber: 1, maxResults: int.MaxValue); alertTemplate = !string.IsNullOrEmpty(task) ? MapAlertTemplateDataListFromService(JsonConvert.DeserializeObject<ListResult<AlertTemplate>>(task)) : default(ListResult<Entities.AlertType>); if (alertTemplate == null || alertTemplate.Items.Count == 0 || (alertTemplate.Items.Count > 0 && alertTemplate.Items.Any(alertTemplateData => !alertTemplateData.Description.Equals(alert.Description, StringComparison.OrdinalIgnoreCase)))) { await this.alertTemplateClient.CreateAsync(alertTemplate: JsonConvert.SerializeObject(MapAlertTemplateData(alertCollection))); } } else { await this.alertTemplateClient.UpdateAsync(id: alertTypeId, alertTemplate: JsonConvert.SerializeObject(MapAlertTemplateDataUpdate(alertCollection))); } } } } }
/// <summary> /// Create alert /// </summary> /// <param name="alertCollection">Alert collection</param> /// <returns> /// Id of created alert /// </returns> public async Task<string> CreateAsync(AlertTypeCollection alertCollection) { string task = null; foreach (var alert in alertCollection) { var isAlertOrMessage = alert.Alerts.Any(alertData => !string.IsNullOrEmpty(alertData.PersonId)); if (alert.IsMessage) { if (isAlertOrMessage) { task = await this.messageClient.CreateAsync(messageData: JsonConvert.SerializeObject(MapMessageData(alertCollection))); } if (alert.IsTemplate) { task = await this.messageTemplateClient.CreateAsync(messageTemplate: JsonConvert.SerializeObject(MapMessageTemplateData(alertCollection))); } } else if (!alert.IsMessage) { if (isAlertOrMessage) { task = await this.alertClient.CreateAlertAsync(alertData: JsonConvert.SerializeObject(MapAlertData(alertCollection))); } if (alert.IsTemplate) { task = await this.alertTemplateClient.CreateAsync(alertTemplate: JsonConvert.SerializeObject(MapAlertTemplateData(alertCollection))); } } } return task != null ? task : string.Empty; }