private void SetTemplate()
        {
            if (!isUpdateTemplate)
            {
                var columnsWidth = new Dictionary <string, double>();

                ResultSearchDataGrid.Columns.ToList().ForEach(
                    x =>
                {
                    string columnName;

                    if (columns.TryGetValue(x, out columnName))
                    {
                        columnsWidth.Add(columnName, x.ActualWidth);
                    }
                });

                var template = new CatalogTemplate();
                template.GridColumnsWidth = columnsWidth;
                template.IsAdvanceSearch  = SearchCriteria.EnabledAdvancedSearch;
                TemplateService?.SetCatalogTemplate(template);
            }
        }
        public void GetTemplate()
        {
            if (TemplateService.IsExistCatalogTemplate(SearchCriteria.EnabledAdvancedSearch))
            {
                CatalogTemplate template = TemplateService.GetCatalogTemplate(SearchCriteria.EnabledAdvancedSearch);
                isUpdateTemplate = true;

                foreach (KeyValuePair <DataGridColumn, string> item in columns)
                {
                    double width;

                    if (!Equals(item.Key, PhotoIconColumn) && template.GridColumnsWidth.TryGetValue(item.Value, out width))
                    {
                        item.Key.Width = width;
                    }
                }

                isUpdateTemplate = false;
            }
            else
            {
                SetTemplate();
            }
        }