public Result <FilteredOutputWorshipExtended> Handle([NotNull] OutputWorshipQuery query)
        {
            var worship = DbContext.Set <OutputWorship>().FirstOrDefault(c => c.Id == query.Id);

            //нашли
            if (worship != null)
            {
                try
                {
                    var sections = _typiconSerializer.Deserialize <OutputSectionModelCollection>(worship.Definition);

                    var w = new FilteredOutputWorshipExtended()
                    {
                        Id          = worship.Id,
                        Time        = worship.Time,
                        Name        = worship.Name.FilterOut(query.Filter),
                        HasSequence = !string.IsNullOrEmpty(worship.Definition),
                        Sections    = sections.FilterOut(query.Filter)
                    };
                    return(Result.Ok(w));
                }
                catch
                {
                    //ошибка десериализации
                    return(Result.Fail <FilteredOutputWorshipExtended>($"Возникла ошибка с отображением последовательности богослужения."));
                }
            }

            return(Result.Fail <FilteredOutputWorshipExtended>($"Богослужение с заданным Id={query.Id} не было найдено."));
        }
        private string Compose(string value)
        {
            try
            {
                var obj = _serializer.Deserialize <WorshipContainer>(value);

                var result = JsonSerializer.Serialize(obj.Worships);

                return(result);
            }
            catch (Exception ex)
            {
                return("[]");
            }
        }
Beispiel #3
0
        public Result Import(byte[] file)
        {
            try
            {
                var xml = Encoding.UTF8.GetString(file);

                var projection = _serializer.Deserialize <TypiconVersionProjection>(xml);

                var entity = _projector.Project(projection);

                _dbContext.Set <TypiconEntity>().Add(entity.Value);

                int i = _dbContext.SaveChanges();

                return(Result.Ok());
            }
            catch (Exception ex)
            {
                return(Result.Fail(ex.Message));
            }
        }
        public static ItemTextStyled GetItemTextStyled(this XmlNode elem, ITypiconSerializer serializer, string key)
        {
            var node = elem.SelectSingleNode(key);

            return((node != null) ? serializer.Deserialize <ItemTextStyled>(node.OuterXml, key) : default(ItemTextStyled));
        }
 public virtual T GetElement(ITypiconSerializer serializer)
 {
     return(serializer.Deserialize <T>(Definition));
 }