public void ParseIntoCSV(string filename, IList <EventModel> events)
        {
            try
            {
                using (var writer = new StreamWriter(filename))
                {
                    foreach (var e in events)
                    {
                        var parts = new string[]
                        {
                            e.IsEvent ? "1" : "0",
                                 EventTypeExtension.ToString(e.EventType),
                            e.ID,
                            e.Culture,
                            e.DateTime.ToString(),
                            e.Message
                        };

                        writer.WriteLine(string.Join(';', parts));
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        /// <summary>
        /// Create <see cref="EventModel"/> class from given parameters as string values.
        /// Possible errors during parse values into fields of <see cref="EventModel"/> will throw <see cref="Exception"/>
        /// </summary>
        /// <param name="model">EventModel class fields in order defined in <see cref="EventModel"/> class</param>
        /// <returns><see cref="EventModel"/> class</returns>
        public static EventModel CreateEventModel(string[] model)
        {
            if (model.Length != 6)
            {
                throw new FormatException($"Event in file contain more then 6 information\n: { string.Join(';', model) }");
            }

            if (!EventTypeExtension.TryParseEventType(model[1], out var eventType))
            {
                throw new FormatException($"Event in file is in wrong type\n: { string.Join(';', model) }");
            }

            if (!DateTime.TryParseExact(model[4],
                                        "ddd MMM dd HH:mm:ss CET yyyy",
                                        CultureInfo.InvariantCulture,
                                        DateTimeStyles.AllowWhiteSpaces,
                                        out var datetime) &&
                !DateTime.TryParseExact(model[4],
                                        "ddd MMM dd HH:mm:ss CEST yyyy",
                                        CultureInfo.InvariantCulture,
                                        DateTimeStyles.AllowWhiteSpaces,
                                        out datetime))
            {
                throw new FormatException($"Event in file has wrong datetime\n: { string.Join(';', model) }");
            }

            return(new EventModel
            {
                IsEvent = string.Compare(model[0], "1", StringComparison.Ordinal) == 0,
                EventType = (EventType)eventType,
                ID = model[2],
                Culture = model[3],
                DateTime = datetime,
                Message = model[5]
            });
        }