internal bool LogEmail(int?editionId, string recipients, string body, string actorUserEmail, string actionName, ActionType?actionType = ActionType.NotificationEmailSend) { if (string.IsNullOrWhiteSpace(recipients)) { return(false); } EditionEntity edition = null; if (editionId.HasValue) { edition = EditionServices.GetEditionById(editionId.Value); } foreach (var recipient in recipients.Split(',')) { var additionalInfo = "Recipient: " + recipient + " | Body: " + body; additionalInfo = additionalInfo.StripHtml().Substr(500); var emailLog = CreateEmailLogFunc(edition, actionType.GetValueOrDefault(), actorUserEmail, actionName, additionalInfo); LogServices.CreateLog(emailLog); } return(true); }
public IHttpActionResult Get(int id) { var edition = _editionServices.GetEditionById(id); if (edition == null) { return(NotFound()); } return(Ok(edition)); }
public override void OnActionExecuting(ActionExecutingContext filterContext) { var request = filterContext.RequestContext.HttpContext.Request; var ip = request.UserHostAddress; var url = request.RawUrl; if (!(filterContext.Controller is GlobalController controller)) { return; } var actionAttr = filterContext.ActionDescriptor.GetCustomAttributes(typeof(CedActionAttribute), false).Cast <CedActionAttribute>().SingleOrDefault(); if (actionAttr == null) { return; } if (!actionAttr.Loggable) { return; } var actionTypeAttr = actionAttr.ActionType.GetAttribute <ActionTypeAttribute>(); EntityType?entityType = null; if (actionTypeAttr != null) { entityType = actionTypeAttr.EntityType; } int? entityId = null; string entityName = null; int? eventId = null; string eventName = null; if (filterContext.RouteData.Values["id"] != null) { entityId = Convert.ToInt32(filterContext.RouteData.Values["id"]); } if (entityId == null) { if (filterContext.RequestContext.HttpContext.Request.Params["EditionId"] != null) { entityId = Convert.ToInt32(filterContext.RequestContext.HttpContext.Request.Params["EditionId"]); } if (!string.IsNullOrWhiteSpace(filterContext.RequestContext.HttpContext.Request.Params["EventId"])) { eventId = Convert.ToInt32(filterContext.RequestContext.HttpContext.Request.Params["EventId"]); } } if (entityId.HasValue) { if (entityType == EntityType.Edition) { var edition = _editionServices.GetEditionById(entityId.Value, Constants.ValidEventTypesForCed); if (edition != null) { entityId = edition.EditionId; entityName = edition.EditionName; eventId = edition.EventId; eventName = edition.Event.MasterName; } } else if (entityType == EntityType.Event) { var @event = _eventServices.GetEventById(entityId.Value, Constants.ValidEventTypesForCed); if (@event != null) { entityId = @event.EventId; entityName = @event.MasterName; eventId = @event.EventId; eventName = @event.MasterName; } } } var log = new LogEntity { Ip = ip, Url = url, ActorUserId = controller.CurrentCedUser?.CurrentUser.UserId ?? 0, ActorUserEmail = controller.CurrentCedUser?.CurrentUser.Email, Controller = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName, Action = filterContext.ActionDescriptor.ActionName, MethodType = request.HttpMethod, ActionType = actionAttr.ActionType, EntityType = entityType, EntityId = entityId, EntityName = entityName, EventId = eventId, EventName = eventName, IsImpersonated = controller.CurrentCedUser?.IsImpersonated ?? false }; filterContext.Controller.TempData["Log"] = log; }