public ActionResult Homepage()
        {
            List <AdminMutfakYorum> adminMutfakYorum = StokKontrolEntitiesProvider.GetAllAdminMutfakYorum();
            List <KullaniciYorum>   kullaniciYorum   = StokKontrolEntitiesProvider.GetAllKullaniciYorum();
            List <DuyuruBilgi>      duyuruBilgi      = null;
            List <string>           UrunTipiString   = null;
            int lastAnnouncement = StokKontrolEntitiesProvider.FindLastAnnouncement();

            if (lastAnnouncement != 0)
            {
                duyuruBilgi    = StokKontrolEntitiesProvider.GetLastDuyuruBilgiToList(lastAnnouncement);
                UrunTipiString = new List <string>();

                foreach (var item in duyuruBilgi)
                {
                    Urun urun = StokKontrolEntitiesProvider.GetProductNameByObjectId(item.Urun.ObjectId);
                    if (urun.UrunTipi != null)
                    {
                        UrunTipiString.Add(urun.UrunTipi.UrunTipi1);
                    }
                    else
                    {
                        UrunTipiString.Add("Birim");
                    }
                }
            }
            HomepageModel model = new HomepageModel(kullaniciYorum, duyuruBilgi, adminMutfakYorum, UrunTipiString);

            return(View(model));
        }
        public ActionResult Announcement(int?duyuruId)
        {
            if (duyuruId == null)
            {
                if (Session["grup"].Equals(3))
                {
                    List <Urun>       urunler     = StokKontrolEntitiesProvider.GetAllProducts();
                    List <UrunTipi>   urunTipleri = StokKontrolEntitiesProvider.GetAllUrunTipi();
                    AnnouncementModel model       = new AnnouncementModel(1);
                    List <UrunModel>  urunList    = new List <UrunModel>();

                    foreach (Urun urun in urunler)
                    {
                        if (urun.UrunTipi != null)
                        {
                            urunList.Add(new UrunModel(urun, urunTipleri, urun.UrunTipi.UrunTipi1));
                        }
                        else
                        {
                            urunList.Add(new UrunModel(urun, urunTipleri));
                        }
                    }
                    model.urunList = urunList;
                    return(View(model));
                }
            }
            else
            {
                List <DuyuruBilgi> duyuruBilgi = StokKontrolEntitiesProvider.GetLastDuyuruBilgiToList(Convert.ToInt32(duyuruId));
                List <UrunModel>   urunList    = new List <UrunModel>();
                AnnouncementModel  model       = new AnnouncementModel(1);

                List <Urun> urunler = StokKontrolEntitiesProvider.GetAllProducts();

                foreach (var item in duyuruBilgi)
                {
                    urunList.Add(new UrunModel(item.Urun, Convert.ToInt32(item.Adet)));
                }
                foreach (Urun urun in urunler)
                {
                    if (urunList.Where(x => x.UrunAdi == urun.UrunAdi).FirstOrDefault() == null)
                    {
                        urunList.Add(new UrunModel(urun));
                    }
                }
                model.urunList = urunList;
                return(View(model));
            }
            return(RedirectToAction("Index", "Login"));
        }
        public ActionResult EditMutfakDuyuru(int?duyuruId)
        {
            if (duyuruId != null)
            {
                List <DuyuruBilgi> duyuruBilgi = StokKontrolEntitiesProvider.GetLastDuyuruBilgiToList(Convert.ToInt32(duyuruId));
                List <UrunModel>   urunList    = new List <UrunModel>();
                AnnouncementModel  model       = new AnnouncementModel();

                foreach (var item in duyuruBilgi)
                {
                    urunList.Add(new UrunModel(item.Urun, Convert.ToInt32(item.Adet)));
                }
                model.urunList = urunList;
                return(Announcement(model));
            }
            return(View());
        }
        public ActionResult EditAnnouncement(AnnouncementModel gelenler)
        {
            if (Session["grup"].Equals(3))
            {
                int lastAnnouncement = StokKontrolEntitiesProvider.FindLastAnnouncement();
                List <DuyuruBilgi> duyuruBilgiList = StokKontrolEntitiesProvider.GetLastDuyuruBilgiToList(lastAnnouncement);
                foreach (var item in gelenler.urunList)
                {
                    DuyuruBilgi duyuruBilgiItem = duyuruBilgiList.Where(x => x.UrunId == item.ObjectId).FirstOrDefault();
                    if (item.UretimMiktari != 0 && item.Selected == true)
                    {
                        if (duyuruBilgiItem != null)
                        {
                            if (item.UretimMiktari != duyuruBilgiItem.Adet)
                            {
                                if (duyuruBilgiItem.Adet == null)
                                {
                                    StokKontrolEntitiesProvider.UpdateStokMiktari(item.ObjectId, item.UretimMiktari);
                                }
                                else if (item.UretimMiktari < duyuruBilgiItem.Adet)
                                {
                                    int?guncellenecekMiktar = item.UretimMiktari - duyuruBilgiItem.Adet;
                                    StokKontrolEntitiesProvider.UpdateStokMiktari(item.ObjectId, guncellenecekMiktar);
                                    StokKontrolEntitiesProvider.UpdateDuyuruBilgi(item.ObjectId, lastAnnouncement, item.UretimMiktari);
                                }
                                else if (item.UretimMiktari > duyuruBilgiItem.Adet)
                                {
                                    int?guncellenecekMiktar = item.UretimMiktari - duyuruBilgiItem.Adet;
                                    StokKontrolEntitiesProvider.UpdateStokMiktari(item.ObjectId, guncellenecekMiktar);
                                    StokKontrolEntitiesProvider.UpdateDuyuruBilgi(item.ObjectId, lastAnnouncement, item.UretimMiktari);
                                }
                            }
                        }
                        else
                        {
                            StokKontrolEntitiesProvider.AddDuyuruBilgi(item.ObjectId, item.UretimMiktari, lastAnnouncement);
                            StokKontrolEntitiesProvider.UpdateStokMiktari(item.ObjectId, item.UretimMiktari);
                        }
                    }
                    else if (item.Selected == false && item.UretimMiktari == 0)
                    {
                    }
                    else if (item.UretimMiktari == 0 && item.Selected == true)
                    {
                        if (duyuruBilgiItem.Adet != null)
                        {
                            int?guncellenecekMiktar = item.UretimMiktari - duyuruBilgiItem.Adet;
                            StokKontrolEntitiesProvider.UpdateStokMiktari(item.ObjectId, guncellenecekMiktar);
                            StokKontrolEntitiesProvider.UpdateDuyuruBilgi(item.ObjectId, lastAnnouncement, item.UretimMiktari);
                            StokKontrolEntitiesProvider.RemoveDuyuruBilgi(item.ObjectId, lastAnnouncement);
                        }
                    }
                    else if (duyuruBilgiItem.Adet != null)
                    {
                        int?guncellenecekMiktar = -(duyuruBilgiItem.Adet);
                        StokKontrolEntitiesProvider.UpdateStokMiktari(item.ObjectId, guncellenecekMiktar);
                        StokKontrolEntitiesProvider.RemoveDuyuruBilgi(item.ObjectId, lastAnnouncement);
                    }
                }
                if (gelenler.StartDate != duyuruBilgiList[0].Duyuru.StartDate)
                {
                    StokKontrolEntitiesProvider.UpdateDuyuruStartDate(lastAnnouncement, gelenler.StartDate);
                }
                if (gelenler.EndDate != duyuruBilgiList[0].Duyuru.EndDate)
                {
                    StokKontrolEntitiesProvider.UpdateDuyuruEndDate(lastAnnouncement, gelenler.EndDate);
                }

                ModelState.Clear();
                return(RedirectToAction("Announcement", "Home"));
            }
            return(RedirectToAction("Index", "Login"));
        }