\Yezervasyon\Yezervasyon\Controllers\AnasayfaController.cs
Return Back
using System;
using System.Data.Entity.Migrations;
using System.Globalization;
using System.Linq;
using System.Web.Mvc;
using System.Web.Security;
using Cekirdek;
using Entities;
using Newtonsoft.Json.Linq;
namespace Yezervasyon.Controllers
{
public class AnasayfaController : Controller
{
private readonly Data.Access _dbContext = new Data.Access();
public AnasayfaController()
{
}
public AnasayfaController(Data.Access dbContext)
{
_dbContext = dbContext;
}
[HttpGet]
public ActionResult Anasayfa()
{
try
{
if (Request.Cookies["Rezervasyon_Kullanici"] == null || !GirisController.GirisYapildi())
{
return RedirectToAction("Giris", "Giris");
}
if (YetkiKontrol.YetkiliMi())
{
return RedirectToAction("Yetkili", "Yetkili");
}
var kimlikNo = KullaniciBilgi.Getir().TcNo;
var bugun = DateTime.Today;
var rezervasyonList = _dbContext.Rezervasyon.Where(r => r.TcNo == kimlikNo && r.AktifMi).OrderBy(r => r.Tarih).ToList();
foreach (var rezervasyon in rezervasyonList)
{
if (rezervasyon.AktifMi && rezervasyon.Tarih < bugun)
{
rezervasyon.AktifMi = false;
_dbContext.Rezervasyon.AddOrUpdate(rezervasyon);
_dbContext.SaveChanges();
}
}
TempData["GecerliGun"] = DateTime.Today;
TempData["Tarih"] = DateTime.Now.Hour;
TempData["RezList"] = rezervasyonList.Where(r => r.AktifMi);
return View();
}
catch (Exception e)
{
Console.WriteLine(e);
return RedirectToAction("Giris", "Giris");
}
}
[HttpPost]
public ActionResult RezerveEt(RezPost rezPost)
{
try
{
if (!GirisController.GirisYapildi())
{
return RedirectToAction("Giris", "Giris");
}
if (rezPost.RezTarih == null)
{
TempData["TarihSecmedi"] = "Rezerve edilecek tarihi seçmediniz.";
return RedirectToAction("Anasayfa", "Anasayfa");
}
dynamic cookieJson = new JObject();
if (Request.Cookies["Rezervasyon_Kullanici"] != null)
{
cookieJson = JObject.Parse(FormsAuthentication.Decrypt(Request.Cookies["Rezervasyon_Kullanici"].Value)?.UserData);
}
var kultur = new CultureInfo("tr-TR");
var rezerveTarihler = rezPost.RezTarih.Split(new[] {" -- "}, StringSplitOptions.None);
foreach (var tarihStr in rezerveTarihler)
{
DateTime tarih;
try
{
tarih = DateTime.ParseExact(tarihStr, "dd.MM.yyyy", kultur).Date;
}
catch
{
tarih = DateTime.ParseExact(tarihStr, "d.MM.yyyy", CultureInfo.InvariantCulture).Date;
}
var rezervasyon = new Rezervasyon
{
TcNo = cookieJson.TcNo,
Ad = cookieJson.Ad,
Soyad = cookieJson.Soyad,
BirimAd = cookieJson.BirimAd,
Tarih = tarih,
GunAdi = kultur.DateTimeFormat.GetDayName(tarih.DayOfWeek),
AktifMi = true
};
_dbContext.Rezervasyon.Add(rezervasyon);
_dbContext.SaveChanges();
}
return RedirectToAction("Anasayfa");
}
catch (Exception e)
{
Console.WriteLine(e);
return RedirectToAction("Giris", "Giris");
}
}
[HttpPost]
public ActionResult IptalEt(RezPost rezPost)
{
try
{
if (!GirisController.GirisYapildi())
{
return RedirectToAction("Giris", "Giris");
}
var tarih = DateTime.Parse(rezPost.RezTarih);
var kimlikNo = KullaniciBilgi.Getir().TcNo;
var rezervasyon = _dbContext.Rezervasyon.FirstOrDefault(r => r.AktifMi && r.TcNo.Equals(kimlikNo) && r.Tarih.Equals(tarih));
if (rezervasyon != null)
{
rezervasyon.AktifMi = false;
_dbContext.Rezervasyon.AddOrUpdate(rezervasyon);
_dbContext.SaveChanges();
}
return RedirectToAction("Anasayfa");
}
catch (Exception e)
{
Console.WriteLine(e);
return RedirectToAction("Giris", "Giris");
}
}
}
}
using System.Data.Entity.Migrations;
using System.Globalization;
using System.Linq;
using System.Web.Mvc;
using System.Web.Security;
using Cekirdek;
using Entities;
using Newtonsoft.Json.Linq;
namespace Yezervasyon.Controllers
{
public class AnasayfaController : Controller
{
private readonly Data.Access _dbContext = new Data.Access();
public AnasayfaController()
{
}
public AnasayfaController(Data.Access dbContext)
{
_dbContext = dbContext;
}
[HttpGet]
public ActionResult Anasayfa()
{
try
{
if (Request.Cookies["Rezervasyon_Kullanici"] == null || !GirisController.GirisYapildi())
{
return RedirectToAction("Giris", "Giris");
}
if (YetkiKontrol.YetkiliMi())
{
return RedirectToAction("Yetkili", "Yetkili");
}
var kimlikNo = KullaniciBilgi.Getir().TcNo;
var bugun = DateTime.Today;
var rezervasyonList = _dbContext.Rezervasyon.Where(r => r.TcNo == kimlikNo && r.AktifMi).OrderBy(r => r.Tarih).ToList();
foreach (var rezervasyon in rezervasyonList)
{
if (rezervasyon.AktifMi && rezervasyon.Tarih < bugun)
{
rezervasyon.AktifMi = false;
_dbContext.Rezervasyon.AddOrUpdate(rezervasyon);
_dbContext.SaveChanges();
}
}
TempData["GecerliGun"] = DateTime.Today;
TempData["Tarih"] = DateTime.Now.Hour;
TempData["RezList"] = rezervasyonList.Where(r => r.AktifMi);
return View();
}
catch (Exception e)
{
Console.WriteLine(e);
return RedirectToAction("Giris", "Giris");
}
}
[HttpPost]
public ActionResult RezerveEt(RezPost rezPost)
{
try
{
if (!GirisController.GirisYapildi())
{
return RedirectToAction("Giris", "Giris");
}
if (rezPost.RezTarih == null)
{
TempData["TarihSecmedi"] = "Rezerve edilecek tarihi seçmediniz.";
return RedirectToAction("Anasayfa", "Anasayfa");
}
dynamic cookieJson = new JObject();
if (Request.Cookies["Rezervasyon_Kullanici"] != null)
{
cookieJson = JObject.Parse(FormsAuthentication.Decrypt(Request.Cookies["Rezervasyon_Kullanici"].Value)?.UserData);
}
var kultur = new CultureInfo("tr-TR");
var rezerveTarihler = rezPost.RezTarih.Split(new[] {" -- "}, StringSplitOptions.None);
foreach (var tarihStr in rezerveTarihler)
{
DateTime tarih;
try
{
tarih = DateTime.ParseExact(tarihStr, "dd.MM.yyyy", kultur).Date;
}
catch
{
tarih = DateTime.ParseExact(tarihStr, "d.MM.yyyy", CultureInfo.InvariantCulture).Date;
}
var rezervasyon = new Rezervasyon
{
TcNo = cookieJson.TcNo,
Ad = cookieJson.Ad,
Soyad = cookieJson.Soyad,
BirimAd = cookieJson.BirimAd,
Tarih = tarih,
GunAdi = kultur.DateTimeFormat.GetDayName(tarih.DayOfWeek),
AktifMi = true
};
_dbContext.Rezervasyon.Add(rezervasyon);
_dbContext.SaveChanges();
}
return RedirectToAction("Anasayfa");
}
catch (Exception e)
{
Console.WriteLine(e);
return RedirectToAction("Giris", "Giris");
}
}
[HttpPost]
public ActionResult IptalEt(RezPost rezPost)
{
try
{
if (!GirisController.GirisYapildi())
{
return RedirectToAction("Giris", "Giris");
}
var tarih = DateTime.Parse(rezPost.RezTarih);
var kimlikNo = KullaniciBilgi.Getir().TcNo;
var rezervasyon = _dbContext.Rezervasyon.FirstOrDefault(r => r.AktifMi && r.TcNo.Equals(kimlikNo) && r.Tarih.Equals(tarih));
if (rezervasyon != null)
{
rezervasyon.AktifMi = false;
_dbContext.Rezervasyon.AddOrUpdate(rezervasyon);
_dbContext.SaveChanges();
}
return RedirectToAction("Anasayfa");
}
catch (Exception e)
{
Console.WriteLine(e);
return RedirectToAction("Giris", "Giris");
}
}
}
}