public ActionResult Edit(int ID)
        {
            IzinModel Izin   = new IzinModel();
            DataTable dtable = new DataTable();

            using (SqlConnection sqlCon = new SqlConnection(connectionString))
            {
                sqlCon.Open();
                string         query = "SELECT * FROM [dbo].[IzinModel] WHERE ID ='" + ID + "'";
                SqlDataAdapter sqlDa = new SqlDataAdapter(query, sqlCon);
                sqlDa.Fill(dtable);
                if (dtable.Rows.Count == 1)
                {
                    Izin.ID          = (int)dtable.Rows[0][0];
                    Izin.pid         = (int)dtable.Rows[0][1];
                    Izin.aciklama    = dtable.Rows[0][2].ToString();
                    Izin.baslangic_t = Convert.ToDateTime(dtable.Rows[0][3].ToString());
                    Izin.bitis_t     = Convert.ToDateTime(dtable.Rows[0][4].ToString());
                    Izin.gun_sayisi  = (int)dtable.Rows[0][5];
                    Izin.isApprove   = (int)dtable.Rows[0][6];
                    return(View(Izin));
                }
            }
            return(RedirectToAction("IzinGiris"));
        }
        public ActionResult Create(IzinModel Izin)
        {
            int toplamGun = (int)(Izin.bitis_t - Izin.baslangic_t).TotalDays;

            using (SqlConnection sqlCon = new SqlConnection(connectionString))
            {
                sqlCon.Open();
                string query = "INSERT INTO [dbo].[IzinModel] VALUES( " + LoggedUserID + ",'" + Izin.aciklama + "', '" +
                               Izin.baslangic_t.ToString("yyyy-MM-dd") + "', '" + Izin.bitis_t.ToString("yyyy-MM-dd") + "', " + toplamGun + ", " + 0 + ")";
                SqlCommand sqlCommand = new SqlCommand(query, sqlCon);
                sqlCommand.ExecuteNonQuery();
            }
            return(RedirectToAction("IzinGiris"));
        }
        public ActionResult Edit(IzinModel Izin)
        {
            int toplamGun = (int)(Izin.bitis_t - Izin.baslangic_t).TotalDays;

            using (SqlConnection sqlCon = new SqlConnection(connectionString))
            {
                sqlCon.Open();
                string query = "UPDATE [dbo].[IzinModel] SET aciklama = '" + Izin.aciklama + "', baslangic_t = '"
                               + Izin.baslangic_t.ToString("yyyy-MM-dd") + "', bitis_t = '" + Izin.bitis_t.ToString("yyyy-MM-dd") + "', gun_sayisi = " + toplamGun + ", isApprove = " + 0 + " WHERE ID = " + Izin.ID;
                SqlCommand sqlCmd = new SqlCommand(query, sqlCon);
                sqlCmd.ExecuteNonQuery();
            }
            return(RedirectToAction("IzinGiris"));
        }
Exemple #4
0
        public ActionResult RolKontrol(int id)
        {
            IzinModel ızinModel = new IzinModel();

            ızinModel.rolid = id;
            var menulist = db.MENU.ToList();
            List <CheckModel> checkModels = new List <CheckModel>();

            foreach (var a in menulist)
            {
                var izin = db.MENUROL.Where(x => x.ROLID == id && x.MENUID == a.ID).Any();
                checkModels.Add(new CheckModel {
                    id = a.ID, menuAdi = a.MENU_ADI, contName = a.CONTOLLERNAME, acName = a.ACTIONNAME, aciklama = a.ACIKLAMA, check = izin
                });
            }
            ızinModel.CheckIzin = checkModels;

            return(View(ızinModel));
        }
        public ActionResult IzinIste(IzinModel izin)
        {
            ViewBag.izinListesi = IzinTurRepository.IzinTurListesi();
            if (ModelState.IsValid)
            {
                var user = db.Users.Single(i => i.UserName == HttpContext.User.Identity.Name);
                var yeni = new IzinModel();
                yeni.IzinTuru        = izin.IzinTuru;
                yeni.IzinAciklama    = izin.IzinAciklama;
                yeni.BaslangicTarihi = izin.BaslangicTarihi;
                yeni.BitisTarihi     = izin.BitisTarihi;
                ResmiTatilEkle(izin.BitisTarihi);//son yılı kontrol ediyor
                DateTime geciciTarih = izin.BaslangicTarihi;
                double   gunSayi     = 0;
                string   gun         = string.Empty;

                while (geciciTarih <= izin.BitisTarihi)//haftasonlarını geçiyor
                {
                    gun = geciciTarih.ToString("dddd");
                    if (gun != "Cumartesi" && gun != "Pazar")
                    {
                        gunSayi = gunSayi + GunKontrol(geciciTarih);
                    }
                    geciciTarih = geciciTarih.AddDays(1);
                }

                //
                DateTime Calismadate = user.IseGiris;
                TimeSpan subt        = DateTime.Now.Subtract(Calismadate);
                int      Calismagün  = Convert.ToInt32(subt.TotalDays);
                int      count       = calismaYilHesapla(Calismagün);//toplam çalıştığı yılı hesaplıyor


                var izinler = db.Izinler.Where(a => a.PortalUserId == user.Id).Select(i => new IzinGelen()
                {
                    Id              = i.Id,
                    Name            = i.User.Name,
                    BaslangicTarihi = i.BaslangicTarihi,
                    BitisTarihi     = i.BitisTarihi,
                    LastName        = i.User.LastName,
                    IzinAciklama    = i.IzinAciklama,
                    IzinGun         = i.IzinGun,
                    IzinTuru        = i.IzinTuru,
                    Onaylandi       = i.Onaylandi,
                });
                double kullanilanIzin  = 0;
                int    toplamIzınHakkı = izinHakkiHesapla(count);

                foreach (var item in izinler)
                {
                    if (DateTime.Now.AddYears(-5) < item.BaslangicTarihi)
                    {
                        kullanilanIzin = Convert.ToDouble(item.IzinGun) + kullanilanIzin;
                    }
                }
                kullanilanIzin = kullanilanIzin + gunSayi;
                if (yeni.IzinTuru == "Doğum izni")
                {
                    if (gunSayi > 5)
                    {
                        ViewData["Warning"] = "doğum izninde 5 günden fazla kullanılmaz";
                        return(View());
                    }
                    yeni.IzinGun      = gunSayi.ToString();
                    yeni.Onaylandi    = false;
                    yeni.PortalUserId = user.Id;
                    db.Izinler.Add(yeni);
                    db.SaveChanges();
                    ViewData["Success"] = "Kullandıgınız Doğum izni:" + gunSayi;
                    var mesaj = String.Format("{0} kullanıcısı {3} nedeni ile {1} ve {2} tarihleri arasında izin talep etmektedir.", user.Name + " " + user.LastName, izin.BaslangicTarihi.ToLongDateString(), izin.BitisTarihi.ToLongDateString(), izin.IzinAciklama);
                    mc.MailGonderAsync(mesaj, "izin");
                }
                else if (yeni.IzinTuru == "Ölüm izni")
                {
                    if (gunSayi > 5)
                    {
                        ViewData["Warning"] = "ölüm izninde 5 günden fazla kullanılmaz";
                        return(View());
                    }
                    yeni.IzinGun      = gunSayi.ToString();
                    yeni.Onaylandi    = false;
                    yeni.PortalUserId = user.Id;
                    db.Izinler.Add(yeni);
                    db.SaveChanges();
                    ViewData["Success"] = "Kullandıgınız Ölüm izni:" + gunSayi;
                    var mesaj = String.Format("{0} kullanıcısı {3} nedeni ile {1} ve {2} tarihleri arasında izin talep etmektedir.", user.Name + " " + user.LastName, izin.BaslangicTarihi.ToLongDateString(), izin.BitisTarihi.ToLongDateString(), izin.IzinAciklama);
                    mc.MailGonderAsync(mesaj, "izin");
                }
                else if (yeni.IzinTuru == "Ücretli izin")
                {
                    yeni.IzinGun      = gunSayi.ToString();
                    yeni.Onaylandi    = false;
                    yeni.PortalUserId = user.Id;
                    db.Izinler.Add(yeni);
                    db.SaveChanges();
                    ViewData["Success"] = "Kullandıgınız Ücretli izni:" + gunSayi;
                    var mesaj = String.Format("{0} kullanıcısı {3} nedeni ile {1} ve {2} tarihleri arasında izin talep etmektedir.", user.Name + " " + user.LastName, izin.BaslangicTarihi.ToLongDateString(), izin.BitisTarihi.ToLongDateString(), izin.IzinAciklama);
                    mc.MailGonderAsync(mesaj, "izin");
                }
                else if (yeni.IzinTuru == "Evlilik izni")
                {
                    if (gunSayi > 5)
                    {
                        ViewData["Warning"] = "Evlilik izninde 5 günden fazla kullanılmaz";
                        return(View());
                    }
                    yeni.IzinGun      = gunSayi.ToString();
                    yeni.Onaylandi    = false;
                    yeni.PortalUserId = user.Id;
                    db.Izinler.Add(yeni);
                    db.SaveChanges();
                    ViewData["Success"] = "Kullandıgınız Evlilik izni:" + gunSayi;
                    var mesaj = String.Format("{0} kullanıcısı {3} nedeni ile {1} ve {2} tarihleri arasında izin talep etmektedir.", user.Name + " " + user.LastName, izin.BaslangicTarihi.ToLongDateString(), izin.BitisTarihi.ToLongDateString(), izin.IzinAciklama);
                    mc.MailGonderAsync(mesaj, "izin");
                }
                else//Yıllık izin
                {
                    if (kullanilanIzin > toplamIzınHakkı)
                    {
                        if (kullanilanIzin > toplamIzınHakkı + ekstraIzin(count))
                        {
                            kullanilanIzin      = kullanilanIzin - gunSayi;
                            ViewData["Warning"] = MvcHtmlString.Create("Izin hakkınızı geçiyor." + "<br>" + "Toplam izin hakkınız :" + toplamIzınHakkı + "(" + ekstraIzin(count) + " bir sonraki senenin izin hakkı)" + "<br>" + "Kullanılan izin Hakkı :" + kullanilanIzin + "<br>" + "Almak istediginiz izin :" + gunSayi + "<br>" + "Kalan izin hakkınız:" + (Convert.ToDouble(toplamIzınHakkı) - kullanilanIzin));
                            return(View());
                        }
                        ViewData["Warning"] = "Kullanmak istediğiniz izin günü sizin izin hakkınızı geçiyor. Fakat sizin bir dahaki senenin izin hakkından kullanılacak";
                        yeni.IzinGun        = gunSayi.ToString();
                        yeni.Onaylandi      = false;
                        yeni.PortalUserId   = user.Id;
                        db.Izinler.Add(yeni);
                        db.SaveChanges();
                        kullanilanIzin      = kullanilanIzin - gunSayi;
                        ViewData["Success"] = MvcHtmlString.Create("İzin başarıyla kaydedildi" + "<br>" + "Toplam izin hakkınız :" + toplamIzınHakkı + "(" + ekstraIzin(count) + " bir sonraki senenin izin hakkı)" + "<br>" + "Aldıgınız izin :" + gunSayi + "<br>" + "Toplam kullanılan izinler:" + kullanilanIzin + "+" + gunSayi + "<br>" + "Kalan izin hakkınız:" + (Convert.ToDouble(toplamIzınHakkı) - (kullanilanIzin + gunSayi)));
                        var mesaj = String.Format("{0} kullanıcısı {3} nedeni ile {1} ve {2} tarihleri arasında izin talep etmektedir.", user.Name + " " + user.LastName, izin.BaslangicTarihi.ToLongDateString(), izin.BitisTarihi.ToLongDateString(), izin.IzinAciklama);
                        mc.MailGonderAsync(mesaj, "izin");
                    }
                    else
                    {
                        yeni.IzinGun      = gunSayi.ToString();
                        yeni.Onaylandi    = false;
                        yeni.PortalUserId = user.Id;
                        db.Izinler.Add(yeni);
                        db.SaveChanges();
                        kullanilanIzin      = kullanilanIzin - gunSayi;
                        ViewData["Success"] = MvcHtmlString.Create("İzin başarıyla kaydedildi" + "<br>" + "Toplam izin hakkınız :" + toplamIzınHakkı + "(" + ekstraIzin(count) + " bir sonraki senenin izin hakkı)" + "<br>" + "Aldıgınız izin :" + gunSayi + "<br>" + "Toplam kullanılan izinler:" + kullanilanIzin + "+" + gunSayi + "<br>" + "Kalan izin hakkınız:" + (Convert.ToDouble(toplamIzınHakkı) - (kullanilanIzin + gunSayi)));
                        var mesaj = String.Format("{0} kullanıcısı {3} nedeni ile {1} ve {2} tarihleri arasında izin talep etmektedir.", user.Name + " " + user.LastName, izin.BaslangicTarihi.ToLongDateString(), izin.BitisTarihi.ToLongDateString(), izin.IzinAciklama);
                        mc.MailGonderAsync(mesaj, "izin");
                    }
                    //
                }

                return(View());
            }
            else
            {
                return(View(izin));
            }
        }