Split işlemleri c# stringSplitOptions.RemoveEmptyEntries

Split işlemi yapacaksınız ama gelen veri de kayıtlar problemli gibi.

işte bu esnada tek tek if kontrolleri koyacağınıza

 

var tags = "One, Two, , Three,   Foo Bar, , Day    , ";

var tagsSplit = tags.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
    .Select(s => s.Trim());

MVC ile DropDownListFor Doldurma

Önce view’a göndereceğimiz Model classımızı tanımlıyoruz.

 

 public class Sehirci
{
public Sehirci()
{
Ilceler = new List();
}

public int IlceID { get; set; }
public string IlceAdi { get; set; }

public IList Ilceler { get; set; }

}

Daha sonra controller dosyası yardımı ile modelimizi dolduruyoruz.

using System.Web.Mvc; namespace’i eklemeyi unutmayın. SelectListItem nesnesi çalışması için.


var model = new Sehirci();
model.IlceID = 1;
model.IlceAdi = "semt";

model.Ilceler.Add(new SelectListItem() { Text = "Marka Seçin", Value = "0" });
model.Ilceler.Add(new SelectListItem() { Text = "Şefır", Value = "1" });

foreach (var item in dsp)
{
model.Ilceler.Add(new SelectListItem()
{
Text = item.DukkanAdi,
Value = item.DukkanID.ToString(),
Selected = (item.DukkanID == 9)
});
}

Daha sonra view aracılığı ile sayfaya gömün

@Html.DropDownListFor(model => model.IlceID, Model.Ilceler)

Az önce mvc’yi biraz daha sevdim 🙂

knockout js ile array diziler

Son çıkan html frameworklerden biri olan knockout js ile array dizi örneği alttaki gibidir. Az önce lazım oldu çok hoşuma gitti sizlerle paylaşmak istedim.




Hello World, AngularJS - ViralPatel.net



Adı Soyadı
ko.applyBindings({ kisi: [ { adi: 'Cem', soyadi: 'Kurt' }, { adi: 'Emre', soyadi: 'Bayer' }, { adi: 'Baransel', soyadi: 'Çınar' } ] });

html5 input required mesajı özelleştirmek

Size küçük bir html5 nimetinden bahsedeceğim.

  <input type="email" required/>

Üstte verilen özellik ile bu textbox alanı boş geçilemiyor. Sizin tek yapmanız gereken bu kodu eklemek.

type kısmını email yaptığınızda ise hem boş geçilemiyor hemde düzgün email formatında olmasını istiyor.

Yani eskisi gibi js kodlarını yazmanıza gerek kalmıyor.

Verdiği hata mesajı ise “Lütfen bu alanı doldurunuz”

eğer siz özel bir mesaj vermek istiyorsanız title attribute(niteliği) ekleyin

yani

  <input type="email" title="boş geçmeyelim" required/>

İşte bu sayede oraya yazacağınız hata mesajı çıkmakta. Şuan firefox ve tabi ki internet explorerda çalışmıyor ancak title niteliği.

Buna rağmen çok iyi bence. Kullanıcıya illa özel mesaj vermeye çokta gerek yok.

Son olarak email formatı hatalı ise çıkacak mesajı özelleştirmek için alttaki pattern niteliğini eklemeniz gerekmektedir.

pattern=”^([ \u00c0-\u01ffa-zA-Z’\-]){2,50}$”

Asp.net Mvc Detay Sayfası

Bu micro yazıda detay sayfaları için controller ve view katmanın haberleşmesine bakacağız.

Elinde datayı saklı tutan controller action methodu bu veriyi view katmanına gönderiyor.

Özellikle tek kayıt getirme işlemlerinde kullanılan bir yapıdır.

Model datayı alı controller’a verir, oradan da view katmanında kullanıcıya gösteririz. Ufak bir lamb expressions ile sorgu göndeririz ve karşılığını alırız.

Controller

public ActionResult Index(string val)
        {
            BordoEntities db_context = new BordoEntities();

            var gelen = db_context.Sehir.Where(x => x.SehirSlug == val).FirstOrDefault();
            return View(gelen);
        }

View

@model ProjeAdi.SınıfAdi

@Model.SehirAdi

Web geliştiricilerin sık kullandığı bir kodu blogda tutmakta fayda var. Tc no doğrulama algoritması javascript tarafında.

Üyelik formu yaptığınızda bol kullandığınız bir fonksiyon olabilir. Hatta konusu açılmışken email doğrulamayıda koyayımda ikisi bir arada lazım olur.

 


function check_tcno(a){
if(a.substr(0,1)==0&&a.lenght!=11){
return false;
}
var i = 9, md='', mc='', digit, mr='';
while(digit = a.charAt(--i)){
i%2==0 ? md += digit : mc += digit;
}
if(((eval(md.split('').join('+'))*7)-eval(mc.split('').join('+')))%10!=parseInt(a.substr(9,1),10)){
return false;
}
for (c=0;c<=9;c++){
mr += a.charAt(c);
}
if(eval(mr.split('').join('+'))%10!=parseInt(a.substr(10,1),10)){
return false;
}
return true;
}

function validateEmail(email) {
    var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    return re.test(email);
}

 

 

 

 

Bootstrap Slider otomatik çalışması yada çalışmaması

data-interval=”false” bu html attribute’ı ekleyin sayfa ilk açıldığında otomatik çalışmasını engeller slider’ın.

Görünüm böyle olmalı
<div id=”recommended-item-carousel2″ class=”carousel slide” data-ride=”carousel”  data-interval=”false”>

Serverda bulunan tüm database yedekleri almak

Bu yavru kodcuk sistemde bulunan bütün databaselerin c klasörüne yedeğini alır. Sistem databaselerin yedeğini almamak adına küçük bir önlem alınmış. Oraya sizde özel databaselerinizi ekleyeip alanı çoğaltabilirsiniz. C sürücüsüne “Yedek” adında bir klasör açın. Kod parçacığı .bak yedeklerini oraya atacaktır. Bu işi bir job ile belirli zamanlarda otomatik alınmasını sağlayabilirsiniz.

İkinci olarak 3. parti uygulamalar yedekleri otomatik alıp sizin bulut serverınıza atıyor(dropbox, azure gibi)

Bu tip uygulamaları kullanmak çok daha enfes olacaktır. Hazırı varken dünyayı yeniden keşfetmeye gerek yok.

DECLARE @name VARCHAR(50) -- database adı
DECLARE @path VARCHAR(256) -- backup dosyaları için dizin
DECLARE @fileName VARCHAR(256) -- dosya adı
DECLARE @fileDate VARCHAR(20) -- dosya adındaki tarih

SET @path = 'C:\Yedek\'

SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)

DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name NOT IN ('master','model','msdb','tempdb','eticaret')

OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name

WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '_' + @fileDate + '.BAK'
BACKUP DATABASE @name TO DISK = @fileName

FETCH NEXT FROM db_cursor INTO @name
END

CLOSE db_cursor
DEALLOCATE db_cursor

Database’in bağırsaklarını temizlemek (via t-sql)

Database içersinde bulunan tüm tabloları, fonksiyonları ve viewları  WHILE döngüsü ilesilmeye yarayan t-sql satırları.

/* Drop all non-system stored procs */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 ORDER BY [name])

WHILE @name is not null
BEGIN
SELECT @SQL = 'DROP PROCEDURE [dbo].[' + RTRIM(@name) +']'
EXEC (@SQL)
PRINT 'Dropped Procedure: ' + @name
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 AND [name] > @name ORDER BY [name])
END
GO

/* Drop all views */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'V' AND category = 0 ORDER BY [name])

WHILE @name IS NOT NULL
BEGIN
SELECT @SQL = 'DROP VIEW [dbo].[' + RTRIM(@name) +']'
EXEC (@SQL)
PRINT 'Dropped View: ' + @name
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'V' AND category = 0 AND [name] > @name ORDER BY [name])
END
GO

/* Drop all functions */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT') AND category = 0 ORDER BY [name])

WHILE @name IS NOT NULL
BEGIN
SELECT @SQL = 'DROP FUNCTION [dbo].[' + RTRIM(@name) +']'
EXEC (@SQL)
PRINT 'Dropped Function: ' + @name
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT') AND category = 0 AND [name] > @name ORDER BY [name])
END
GO

/* Drop all Foreign Key constraints */
DECLARE @name VARCHAR(128)
DECLARE @constraint VARCHAR(254)
DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME)

WHILE @name is not null
BEGIN
SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
WHILE @constraint IS NOT NULL
BEGIN
SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint) +']'
EXEC (@SQL)
PRINT 'Dropped FK Constraint: ' + @constraint + ' on ' + @name
SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
END
SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME)
END
GO

/* Drop all Primary Key constraints */
DECLARE @name VARCHAR(128)
DECLARE @constraint VARCHAR(254)
DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME)

WHILE @name IS NOT NULL
BEGIN
SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
WHILE @constraint is not null
BEGIN
SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint)+']'
EXEC (@SQL)
PRINT 'Dropped PK Constraint: ' + @constraint + ' on ' + @name
SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
END
SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME)
END
GO

/* Drop all tables */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 ORDER BY [name])

WHILE @name IS NOT NULL
BEGIN
SELECT @SQL = 'DROP TABLE [dbo].[' + RTRIM(@name) +']'
EXEC (@SQL)
PRINT 'Dropped Table: ' + @name
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 AND [name] > @name ORDER BY [name])
END
GO