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>

7 Temmuz 2014 Pazartesi

Karakter Kodları (HTML)

CharacterDecimal CodeHTMLDescription
&#09;Horizontal tab
&#10;Line feed
&#13;Carriage Return
&#32;Space
!&#33;Exclamation mark
"&#34;&quot;Quotation mark
#&#35;Number sign
$&#36;Dollar sign
%&#37;Percent sign
&&#38;&amp;Ampersand
'&#39;Apostrophe
(&#40;Left parenthesis
)&#41;Right parenthesis
*&#42;Asterisk
+&#43;Plus sign
,&#44;Comma
-&#45;Hyphen
.&#46;Period (fullstop)
/&#47;Solidus (slash)
0&#48;Digit 0
1&#49;Digit 1
2&#50;Digit 2
3&#51;Digit 3
4&#52;Digit 4
5&#53;Digit 5
6&#54;Digit 6
7&#55;Digit 7
8&#56;Digit 8
9&#57;Digit 9
:&#58;Colon
;&#59;Semicolon
<&#60;&lt;Less than
=&#61;Equals sign
>&#62;&gt;Greater than
?&#63;Question mark
@&#64;Commercial at
A&#65;Capital A
B&#66;Capital B
C&#67;Capital C
D&#68;Capital D
E&#69;Capital E
F&#70;Capital F
G&#71;Capital G
H&#72;Capital H
I&#73;Capital I
J&#74;Capital J
K&#75;Capital K
L&#76;Capital L
M&#77;Capital M
N&#78;Capital N
O&#79;Capital O
P&#80;Capital P
Q&#81;Capital Q
R&#82;Capital R
S&#83;Capital S
T&#84;Capital T
U&#85;Capital U
V&#86;Capital V
W&#87;Capital W
X&#88;Capital X
Y&#89;Capital Y
Z&#90;Capital Z
[&#91;Left square bracket
\&#92;Reverse solidus (backslash)
]&#93;Right square bracket
^&#94;Caret
_&#95;Horizontal bar (underscore)
`&#96;Acute accent
a&#97;Small a
b&#98;Small b
c&#99;Small c
d&#100;Small d
e&#101;Small e
f&#102;Small f
g&#103;Small g
h&#104;Small h
i&#105;Small i
j&#106;Small j
k&#107;Small k
l&#108;Small l
m&#109;Small m
n&#110;Small n
o&#111;Small o
p&#112;Small p
q&#113;Small q
r&#114;Small r
s&#115;Small s
t&#116;Small t
u&#117;Small u
v&#118;Small v
w&#119;Small w
x&#120;Small x
y&#121;Small y
z&#122;Small z
{&#123;Left curly brace
|&#124;Vertical bar
}&#125;Right curly brace
~&#126;Tilde
&#160;&nbsp;Non-breaking Space
¡&#161;&iexcl;Inverted exclamation
¢&#162;&cent;Cent sign
£&#163;&pound;Pound sterling
¤&#164;&curren;General currency sign
¥&#165;&yen;Yen sign
¦&#166;&brvbar; or &brkbar;Broken vertical bar
§&#167;&sect;Section sign
¨&#168;&um; or &die;Diæresis / Umlaut
©&#169;&copy;Copyright
ª&#170;&ordf;Feminine ordinal
«&#171;&laquo;Left angle quote, guillemot left
¬&#172;&notNot sign
&#173;&shy;Soft hyphen
®&#174;&reg;Registered trademark
¯&#175;&macr; or &hibar;Macron accent
°&#176;&deg;Degree sign
±&#177;&plusmn;Plus or minus
²&#178;&sup2;Superscript two
³&#179;&sup3;Superscript three
´&#180;&acute;Acute accent
µ&#181;&micro;Micro sign
&#182;&para;Paragraph sign
·&#183;&middot;Middle dot
¸&#184;&cedil;Cedilla
¹&#185;&sup1;Superscript one
º&#186;&ordm;Masculine ordinal
»&#187;&raquo;Right angle quote, guillemot right
¼&#188;&frac14;Fraction one-fourth
½&#189;&frac12;Fraction one-half
¾&#190;&frac34;Fraction three-fourths
¿&#191;&iquest;Inverted question mark
À&#192;&Agrave;Capital A, grave accent
Á&#193;&Aacute;Capital A, acute accent
Â&#194;&Acirc;Capital A, circumflex
Ã&#195;&Atilde;Capital A, tilde
Ä&#196;&Auml;Capital A, diæresis / umlaut
Å&#197;&Aring;Capital A, ring
Æ&#198;&AElig;Capital AE ligature
Ç&#199;&Ccedil;Capital C, cedilla
È&#200;&Egrave;Capital E, grave accent
É&#201;&Eacute;Capital E, acute accent
Ê&#202;&Ecirc;Capital E, circumflex
Ë&#203;&Euml;Capital E, diæresis / umlaut
Ì&#204;&Igrave;Capital I, grave accent
Í&#205;&Iacute;Capital I, acute accent
Î&#206;&Icirc;Capital I, circumflex
Ï&#207;&Iuml;Capital I, diæresis / umlaut
Ğ&#208;&ETH;Capital Eth, Icelandic
Ñ&#209;&Ntilde;Capital N, tilde
Ò&#210;&Ograve;Capital O, grave accent
Ó&#211;&Oacute;Capital O, acute accent
Ô&#212;&Ocirc;Capital O, circumflex
Õ&#213;&Otilde;Capital O, tilde
Ö&#214;&Ouml;Capital O, diæresis / umlaut
×&#215;&times;Multiply sign
Ø&#216;&Oslash;Capital O, slash
Ù&#217;&Ugrave;Capital U, grave accent
Ú&#218;&Uacute;Capital U, acute accent
Û&#219;&Ucirc;Capital U, circumflex
Ü&#220;&Uuml;Capital U, diæresis / umlaut
İ&#221;&Yacute;Capital Y, acute accent
Ş&#222;&THORN;Capital Thorn, Icelandic
ß&#223;&szlig;Small sharp s, German sz
à&#224;&agrave;Small a, grave accent
á&#225;&aacute;Small a, acute accent
â&#226;&acirc;Small a, circumflex
ã&#227;&atilde;Small a, tilde
ä&#228;&auml;Small a, diæresis / umlaut
å&#229;&aring;Small a, ring
æ&#230;&aelig;Small ae ligature
ç&#231;&ccedil;Small c, cedilla
è&#232;&egrave;Small e, grave accent
é&#233;&eacute;Small e, acute accent
ê&#234;&ecirc;Small e, circumflex
ë&#235;&euml;Small e, diæresis / umlaut
ì&#236;&igrave;Small i, grave accent
í&#237;&iacute;Small i, acute accent
î&#238;&icirc;Small i, circumflex
ï&#239;&iuml;Small i, diæresis / umlaut
ğ&#240;&eth;Small eth, Icelandic
ñ&#241;&ntilde;Small n, tilde
ò&#242;&ograve;Small o, grave accent
ó&#243;&oacute;Small o, acute accent
ô&#244;&ocirc;Small o, circumflex
õ&#245;&otilde;Small o, tilde
ö&#246;&ouml;Small o, diæresis / umlaut
÷&#247;&divide;Division sign
ø&#248;&oslash;Small o, slash
ù&#249;&ugrave;Small u, grave accent
ú&#250;&uacute;Small u, acute accent
û&#251;&ucirc;Small u, circumflex
ü&#252;&uuml;Small u, diæresis / umlaut
ı&#253;&yacute;Small y, acute accent
ş&#254;&thorn;Small thorn, Icelandic
ÿ&#255;&yuml;Small y, diæresis / umlaut