c# read rss


using System;
using System.Collections.Generic;
using System.Xml;
using System.ServiceModel.Syndication;

namespace LJUpper
{
    public static class RSS
    {
        public struct RssItem
        {
            public string Title { get; set; }
            public string Text { get; set; }
        }

        public static List<RssItem> GetRSS(string _feedUri)
        {
            SyndicationFeed syndicationFeed;
            List<RssItem> resList = new List<RssItem>();
            try
            {
                using (XmlReader reader = XmlReader.Create(new Uri(_feedUri).AbsoluteUri))
                    syndicationFeed = SyndicationFeed.Load(reader);

                string _title = "";
                string _text = "";


                foreach (SyndicationItem t in syndicationFeed.Items)
                {
                    if (t.Title == null)
                        _title += t.Title.Text;
                    if (t.Content == null)
                        _text += t.Summary.Text;
                    else
                        _text += (t.Content as TextSyndicationContent).Text;
                    resList.Add(new RssItem() { Title = t.Title.Text, Text = _text });
                }
            }
            catch
            {
                return null;
            }
            return resList;
        }
    }
}

C# Post/Add BlogPost Blogger.com

Download GData.Client https://code.google.com/p/google-gdata/downloads/list



using System;
using Google.GData.Client;

namespace BloggerAPI
{
    public static class Blogger
    {
        /// <summary>
        /// 
        /// </summary>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <param name="UserblogTitle">If null,then will select first user blog</param>
        public static bool SubmitNewPost(string username, string password, string UserblogTitle)
        {
            Service service = new Service("blogger", "blogger-example");
            service.Credentials = new GDataCredentials(username, password);
            try
            {
                Uri blogPostUri = SelectUserBlog(service, UserblogTitle);
                AtomEntry createdEntry = PostNewEntry(service, blogPostUri);
                return true;
            }
            catch
            {
                return false;
            }
        }

        static AtomEntry PostNewEntry(Service service, Uri blogPostUri)
        {
            AtomEntry createdEntry = null;
            if (blogPostUri != null)
            {
                AtomEntry newPost = new AtomEntry();
                newPost.Title.Text = "Marriage!";
                newPost.Content = new AtomContent();
                newPost.Content.Content = "<div xmlns=\"http://www.w3.org/1999/xhtml\">" +
                    "<p>Mr. Darcy has <em>proposed marriage</em> to me!</p>" +
                    "<p>He is the last man on earth I would ever desire to marry.</p>" +
                    "<p>Whatever shall I do?</p>" +
                    "</div>";
                newPost.Content.Type = "xhtml";
                createdEntry = service.Insert(blogPostUri, newPost);
            }
            return createdEntry;
        }

        static Uri SelectUserBlog(Service service, string UserblogTitle)
        {
            FeedQuery query = new FeedQuery();
            query.Uri = new Uri("http://www.blogger.com/feeds/default/blogs");
            AtomFeed feed = service.Query(query);
            Uri blogPostUri = null;
            if (feed != null)
                foreach (AtomEntry entry in feed.Entries)
                    if (UserblogTitle == entry.Title.Text || UserblogTitle == null)
                    {
                        for (int i = 0; i < entry.Links.Count; i++)
                            if (entry.Links[i].Rel.Equals("http://schemas.google.com/g/2005#post"))
                                blogPostUri = new Uri(entry.Links[i].HRef.ToString());
                        return blogPostUri;
                    }
            return blogPostUri;
        }
    }
}

C# Post/Add BlogPost to LiveJournal.com Using


public struct blogInfo
{
        public string title;
        public string description;
}

public static class LJ
    {
        public static string NewPost(string strUserName, string strPassword, blogInfo bi)
        {
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://www.livejournal.com/interface/xmlrpc");
            request.Method = "POST";

            string command = String.Format(
            @"<?xml version=""1.0""?><methodCall><methodName>LJ.XMLRPC.postevent</methodName><params><param><value><struct>
                <member><name>username</name>
                    <value><string>{0}</string></value>
                    </member>
                    <member><name>password</name>
                    <value><string>{1}</string></value>
                    </member>
                    <member><name>event</name>
                    <value><string>{3}
                    </string></value>
                    </member>
                    <member><name>subject</name>
                    <value><string>{2}</string></value>
                    </member>
                    <member><name>lineendings</name>
                    <value><string>pc</string></value>
                    </member>
                    <member><name>year</name>
                    <value><int>"+DateTime.Now.Year.ToString()+@"</int></value>
                    </member>
                    <member><name>mon</name>
                    <value><int>" + DateTime.Now.Month.ToString() + @"</int></value>
                    </member>
                    <member><name>day</name>
                    <value><int>" + DateTime.Now.Day.ToString() + @"</int></value>
                    </member>
                    <member><name>hour</name>
                    <value><int>" + DateTime.Now.Hour.ToString() + @"</int></value>
                    </member>
                    <member><name>min</name>
                    <value><int>" + DateTime.Now.Minute.ToString() + @"</int></value>
                    </member>
                    </struct></value>
                    </param>
                    </params>
                    </methodCall>", strUserName, strPassword, bi.title,bi.description);

            byte[] bytes = Encoding.ASCII.GetBytes(command);
            request.ContentLength = bytes.Length;
            using (var stream = request.GetRequestStream())
                stream.Write(bytes, 0, bytes.Length);

            using (var stream = new StreamReader(request.GetResponse().GetResponseStream()))
                return stream.ReadToEnd();

        }
    }

MSSQL UPDATE DATETIME

UPDATE [mytablename] set [date_to]=CAST('2013-16-04' AS DATETIME) where [number_rec]='0005814'

C# Локализация Windows 8 приложений


Введение

Шаблоны Windows Phone 8 проектов теперь включают в себя поддержку локализаций приложений. Что такое локализация? Когда вы разрабатываете приложение Windows Phone app, часто вам необходимо это делать сразу  для нескольких регионов и соответственно нескольких языков, простыми словами вам необходимо перевести интерфейс или какую то графическую часть. 

Давайте создадим Windows Phone 8 приложение и на примере посмотрим как локализовать его.

Первым делом нам вам необходимо выбрать "Windows Phone OS 8.0" платформу когда создаете свое приложение.

Step 1: Создадим новое Windows Phone 8 приложение с целевой платформой версии 8.0.

Как я говорил локализация доступна для восьмой версии платформы; она не поддерживается в версии 7.1, вы можете увидеть различия между версиями на картинке ниже, когда вы создаете Windows Phone 8.0 приложение файл ресурсов находится в папке "Resources" для каждой поддерживаемой локализации и создается класс "LocalizedStrings", также используется привязка с помощью XAML.

windowsphone8-localization1.gif

По умолчанию запись, относящаяся к  классу помощнику "LocalizedStrings" создается в файле App.xaml.

windowsphone8-localization2.gif

Шаг 2: Теперь давайте привяжем заголовок приложения к свойству из global resource.
 
<!--TitlePanel contains the name of the application and page title-->
 
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
 
     <TextBlock Text="{Binding Path=LocalizedResources.ApplicationTitle}" 
                 
 Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/>
 
     <TextBlock Text="{Binding Path=LocalizedResources.MainPageTitle}" Margin="9,-7,0,0"
 
                 Style="{StaticResource PhoneTextTitle1Style}"/>
 
</StackPanel>

Посмотрим на функцию 
 InitializeLanguage():

windowsphone8-localization3.gif

Шаг 3: Добавим определенную локализацию приложения.

Зайдите в свойства проекта и там вы можете выбрать язык который желаете использовать.

windowsphone8-localization4.gif

После добавления новых языков создадутся соответствующие файлы ресурсов и добавятся в папку Resources.

windowsphone8-localization5.gif

Все файлы ресурсов содержат все детали локализации, чтобы их посмотреть нам не обязательно запускать приложение.

Когда вы откроете файл Resources.resx вы увидите ApplicationTitle на разных языках.

windowsphone8-localization6a.gif

windowsphone8-localization7a.gif

Step 4: Протестируем наше приложением просто запустив эмулятор и мы увидим ApplicationTitle на главной странице по умолчанию.

windowsphone8-localization13.gif

Теперь давайте протестируем нашу новую локализацию.

Для изменения языка используйте следующий порядок действий.

Шаг 1: Нажмите кнопку Start, потом нажмите на иконку стрелку.

windowsphone8-localization8.gif

Шаг 2: Выберите настройки из списка и нажмите на region & language.

windowsphone8-localization9.gif

windowsphone8-localization10.gif

Шаг 3: Выберите язык который вы добавили. Мы добавили немецкий так что выберем его.

windowsphone8-localization11.gif

windowsphone8-localization12.gif
Шаг 4: Нажмите чтобы подтвердить изменения и перезагрузите телефон.

windowsphone8-localization15.gif

Эмулятор изменит настройки и вернет стартовое окно.

Теперь запустите своё приложение и вы увидите переведенный UI.

windowsphone8-localization14.gif

c# Работаем с rdlc

Что нам надо сделать.
Создаем DataTable, на основе него DataSet, задаем имя файла rdlc в ReportViewer и рефрешим его. Вот код:

reportViewer2.LocalReport.ReportEmbeddedResource = "MyProject.MyReportFolder.MyReport.rdlc";
reportViewer2.LocalReport.SetBasePermissionsForSandboxAppDomain(new System.Security.PermissionSet(System.Security.Permissions.PermissionState.Unrestricted));
 
SqlConnection conn = new SqlConnection(MyConnString);
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand("exec MyStoredProc", conn);
DataSet ds = new DataSet();
adapter.Fill(ds);
 
reportViewer2.LocalReport.DataSources.Clear();
Microsoft.Reporting.WinForms.ReportDataSource rds = new Microsoft.Reporting.WinForms.ReportDataSource("DataSet1", ds.Tables[0]);
reportViewer2.LocalReport.DataSources.Add(rds);
reportViewer2.RefreshReport();


Какие могут быть проблемы:
1) Просит пермиссион. Решение

reportViewer2.LocalReport.SetBasePermissionsForSandboxAppDomain(new System.Security.PermissionSet(System.Security.Permissions.PermissionState.Unrestricted));



2) не мог найти как увеличить Group в Табликсе. Решение надо добавлять строки вне, внутри группы. Картинка для наглядности:
PduaZ.png (375×200)

3)Если создан rdl на основе датасета которого у вас нет, т. е. кто то передал вам этот отчет. Можно ли заполнить свой DataSet c такими же полями и передать чтобы всё отображалось корректно. Да можно.

c# rdlc fulltrust error

try this code


reportViewer.LocalReport.SetBasePermissionsForSandboxAppDomain(new System.Security.PermissionSet(System.Security.Permissions.PermissionState.Unrestricted));