23 Ekim 2014 Perşembe

sqlplus ve C# ile oracle db baglantı

sqlplus system@"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xxx.xxx.xxx)(PORT=1521))(CONNECT_DATA=(SID=xxxxxxxx)))"


C# Oracle DB Baglantı :


         
OracleConnection con = new OracleConnection();

  //using connection string attributes to connect to Oracle Database

con.ConnectionString = "User Id=SIS_SW;Password=xxx;Data Source="
+ "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)"
+ "(HOST=xxxx)(PORT=1521))(CONNECT_DATA="
+ "(SERVICE_NAME=xxxx)))";

con.Open();

                // Close and Dispose OracleConnection object
             
 con.Close();
 con.Dispose();

             

16 Eylül 2014 Salı

C# Arşiv dosyalarının dışarı aktarılması

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string zipPath = @"c:\example\start.zip";
            string extractPath = @"c:\example\extract";

            using (ZipArchive archive = ZipFile.OpenRead(zipPath))
            {
                foreach (ZipArchiveEntry entry in archive.Entries)
                {
                    if (entry.FullName.EndsWith(".txt", StringComparison.OrdinalIgnoreCase))
                    {
                        entry.ExtractToFile(Path.Combine(extractPath, entry.FullName));
                    }
                }
            } 
        }
    }
}

5 Eylül 2014 Cuma

WPF Enum, Binding

public IEnumerable<string> EnumCol { get; set; }

var enum_names = Enum.GetNames(typeof(YourEnumTypeHere));
EnumCol = enum_names ;

<ListBox ItemsSource="{Binding EnumCol}"></ListBox>

28 Ağustos 2014 Perşembe

cmd komutları ile eski tarihli kayıtların silinmesi

forfiles -p "d:\Yeni" -s -m *.* -d -9 -c "cmd /c del @path"


-d  komutundan sonra gelen -9 ibaresi ile klasörde bulunan ve oluşturulma tarihi 9 günden eski dosyaları sillen komut satırı

26 Ağustos 2014 Salı

WPF-Value Converter Kullanımı

Eğer birbirinden farklı iki tipte property’i binding yapmak istiyorsanız, arada bu iki property’yi birbirlerini anlayacak şekilde haberleştiren bir  yapının olması gerekmektedir. Bu yapıya daValue Converter denilmektedir. Value converter’lar sayesinde farklı tipteki property’leri bind ederek ilgili tip dönüşüm işlemlerini gerçekleştirebiliriz. 

En çok kullanılan value converter’lardan birisi boolean değerleri Visibility değerlerine dönüştürenlerdir. Daha fazla uzatmadan bahsettiğimiz örneği nasıl gerçekleştirebileceğimize bakalım. Öncelikle yapmam gereken bir sınıf oluşturup bu sınıfa System.Windows. Data isim uzayı altında bulunan IValueConverterarayüzünü implemente etmem gerekiyor. Sınıf ismi olarak genelde property isimleri arasına “To” ve sonuna Converter eklenerek yapılıyor. Arayüzü implemente ettiğimde hemen otomatik olarak Convert ve ConvertBack isimli metodlarım geliyor.

{
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {          
            if (value != null)
            {
                bool boolValue = (bool)value;

                if (boolValue)
                    return Visibility.Visible;
                return Visibility.Hidden;
            }
            return null;
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

Convert metodumda gelen parametreye null kontrolü yaptıktan sonra unboxing yaparak boolean bir değişkene alıyorum. Daha sonra değişkenin değerine göre Visible ya da Hidden olarak geri döndürüyorum.  ConvertBack metodu ise tersine bir dönüşüm yani Visibility’den bool bir değer dönüştürme sağlamaktadır.  Value converter sınıfımızı yazdığımıza göre sıra geldi kullanımına. XAML tarafında kullanabilmek için öncelikle converter’ımıza ulaşabileceğimiz bir namespace oluşturmamız gerekiyor. Daha sonra resource olarak tanımlayıp ilgili data binding işlemlerinde aşağıdaki gibi kullanabiliriz.

<Window x:Class="WPFValueConverter.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:converter="clr-namespace:WPFValueConverter"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <converter:BoolToVisibilityConverter x:Key="boolToVisibilityConverter"/>
    </Window.Resources>
        <StackPanel>
            <CheckBox x:Name="cbVisible" Content="IsVisible" IsChecked="True"/>
            <Rectangle Width="200" Height="200" Fill="Red" Visibility="{Binding ElementName=cbVisible,Path=IsChecked,Converter={StaticResource boolToVisibilityConverter}}"/>
        </StackPanel>
</Window>

6 Ağustos 2014 Çarşamba

MVC Validation


Html.ValidationSummary() 


[StringLength(160)]
public string FirstName { get; set; }

[RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}")]
public string Email { get; set; }

[Range(10,25)]
public int Age { get; set; }

public string Password { get; set; }
[Compare("Password")]
public string ConfirmPass { get; set; }



<script src="<%= Url.Content("~/Scripts/jquery-1.5.1.js") %>" type="text/javascript"></script>
<script src="<%= Url.Content("~/Scripts/jquery.validate.js") %>" type="text/javascript"></script>
<script src="<%= Url.Content("~/Scripts/jquery.validate.unobtrusive.js") %>" type="text/javascript"></script> 

16 Temmuz 2014 Çarşamba

WCF - Proxy Authentication Required Hata cözümü

Kimi zamanlar şirket içerisinde geliştirdiğimiz uygulamalarda 3rd party web servislerini kullanmak zorunda kalabiliyoruz. Bu servisleri Visual Studio içerisinde Add Service Reference ekranını kullanarak eklemeye çalıştığımızda ise “Proxy Authentication Required” hatası ile karşı karşıya kalabilmekteyiz. Bunun nedeni ise Visual Studio içerisinde bulunan Add Service Reference ekranının default olarak bizim ayarlamış olduğumuz proxy ayarlarını kullanmaması.
Bu sorunun çözümü için ise yapmamız gereken tek şey aşağıdaki konfigürasyonu servis referansını eklemeden önce config dosyasına eklemek.
<system.net>
<defaultProxy useDefaultCredentials=”true” />
</system.net>