public void LogEvent(int userId, EventType eventType, EventSeverity severity)
        {
            using (var db = new SAMEntities())
            {
                try
                {
                    var eventSeverity        = severity.ToString();
                    var eventTypeDescription = eventType.ToString();
                    var eventTypeId          = eventType.GetEnumValue();

                    var eventLog = new SAM1.EventLog
                    {
                        CreateDate      = DateTime.Now,
                        UserId          = userId,
                        EventSeverityId = (int)severity,
                        MetaData        = metaData,
                        EventTypeId     = eventTypeId,
                    };

                    db.EventLogs.Add(eventLog);
                    db.SaveChanges();
                }
                catch (DbEntityValidationException ex)
                {
                    var errorMessages = ex.EntityValidationErrors
                                        .SelectMany(x => x.ValidationErrors)
                                        .Select(x => x.ErrorMessage + " " + x.PropertyName);

                    var fullErrorMessage = string.Join(" => ", errorMessages);
                    var exceptionMessage = string.Concat(ex.Message, " The validation errors are: ", fullErrorMessage);
                    throw new DbEntityValidationException(exceptionMessage, ex.EntityValidationErrors);
                }
            }
        }