Exemple #1
0
        public ActionResult TeknisyenAriza()
        {
            var teknisyemId = HttpContext.User.Identity.GetUserId();
            var data        = new ArizaRepo().GetAll(x => x.TeknisyenId == teknisyemId).ToList();

            return(View(data));
        }
Exemple #2
0
        public ActionResult ArizaDurumu()
        {
            var musteriid = HttpContext.User.Identity.GetUserId();
            var data      = new ArizaRepo().GetAll(x => x.MusteriId == musteriid).ToList();

            return(View(data));
        }
        public ActionResult ArizaYonetimi()
        {
            var userManager = MembershipTools.NewUserManager();
            var id          = HttpContext.User.Identity.GetUserId();
            var user        = userManager.FindById(id);
            List <ArizaViewModel> arizalar = new ArizaRepo().GetAll().Where(z => z.TeknikerID == user.Id).OrderByDescending(y => y.EklemeTarihi).Select(x => new ArizaViewModel()
            {
                KullaniciID     = x.KullaniciID,
                Aciklama        = x.Aciklama,
                Adres           = x.Adres,
                Baslik          = x.Baslik,
                Boylam          = x.Boylam,
                Enlem           = x.Enlem,
                MarkaID         = x.MarkaID,
                ModelID         = x.ModelID,
                TeknikerID      = x.TeknikerID,
                FotografYollari = (x.Fotograflari.Count > 0 ? x.Fotograflari.Select(y => y.Yol).ToList() : new List <string>()),
                ID             = x.ID,
                OnaylamaTarihi = x.OnaylamaTarihi,
                OnaylandiMi    = x.OnaylandiMi,
                ArizaYapildiMi = x.ArizaYapildiMi,
                EklemeTarihi   = x.EklemeTarihi
            }).ToList();

            return(View(arizalar));
        }
        public ActionResult ArizaDetay(int?id)
        {
            var markalar = new List <SelectListItem>();

            new PcMarkaRepo().GetAll().OrderBy(x => x.MarkaAdi).ToList().ForEach(x =>
                                                                                 markalar.Add(new SelectListItem()
            {
                Text  = x.MarkaAdi,
                Value = x.ID.ToString()
            }));
            var modeller = new List <SelectListItem>();

            new PcModelRepo().GetAll().OrderBy(x => x.ModelAdi).ToList().ForEach(x =>
                                                                                 modeller.Add(new SelectListItem()
            {
                Text  = x.ModelAdi,
                Value = x.ID.ToString()
            }));
            ViewBag.modelleri = modeller;
            ViewBag.markalari = markalar;
            if (id == null)
            {
                return(RedirectToAction("ArizaYonetimi"));
            }
            var ariza = new ArizaRepo().GetByID(id.Value);

            if (ariza == null)
            {
                return(RedirectToAction("ArizaYonetimi"));
            }
            var model = new ArizaViewModel()
            {
                Baslik            = ariza.Baslik,
                Aciklama          = ariza.Aciklama,
                Adres             = ariza.Adres,
                Boylam            = ariza.Boylam,
                Enlem             = ariza.Enlem,
                ID                = ariza.ID,
                MarkaID           = ariza.MarkaID,
                ModelID           = ariza.ModelID,
                OnaylamaTarihi    = ariza.OnaylamaTarihi,
                FotografYollari   = ariza.Fotograflari.Select(x => x.Yol).ToList(),
                Bilgilendirmeleri = new ArizaBilgilendirmeRepo().GetAll().Where(z => z.ArizaID == ariza.ID).Select(y => new ArizaBilgilendirmeViewModel()
                {
                    ID             = y.ID,
                    Aciklama       = y.Aciklama,
                    AciklamaZamani = y.AciklamaZamani,
                    ArizaID        = y.ArizaID,
                    YoneticiID     = y.YoneticiID,
                    OlumluMu       = y.OlumluMu
                }).ToList(),
                KullaniciID    = ariza.KullaniciID,
                TeknikerID     = ariza.TeknikerID,
                ArizaYapildiMi = ariza.ArizaYapildiMi,
                OnaylandiMi    = ariza.OnaylandiMi
            };

            return(View(model));
        }
        public ActionResult ArizaDetaySayfasi(int id = 0)
        {
            var data = new ArizaRepo().GetById(id);
            if (data == null)
                RedirectToAction("Index");

            var id2 = HttpContext.GetOwinContext().Authentication.User.Identity.GetUserId();
            var user = NewUserManager().FindById(id2);

            var TeknisyenRolu = NewRoleManager().FindByName("Teknisyen").Users.Select(x => x.UserId).ToList();


            var arizalar = new ArizaRepo().GetAll().ToList();

            var userManager = NewUserManager();
            var userlar = userManager.Users.ToList();
          //  var teknisyenId = new ArizaRepo().GetAll(x => x.ArizaTeknisyeneAtandiMi == true).Select(x => x.TeknisyenId).ToList();
            ButunTeknisyenler = new List<SelectListItem>();
            foreach (var item in userlar)
            {
                if (item.AtandiMi) continue;
                if (userManager.IsInRole(item.Id, IdentityRoles.Teknisyen.ToString()))
                {
                    ButunTeknisyenler.Add(new SelectListItem()
                    {

                        Text = item.Ad + " " + item.Soyad,
                        Value = item.Id
                    });
                }
            }



            ViewBag.TeknisyenK = ButunTeknisyenler;

            var model = new ArizaViewModel()
            {

                UrunTipi = data.UrunTipi,
                MusteriId = data.MusteriId,
                UrunAdi = data.UrunAdi,
                MusteriYorumu = data.MusteriYorumu,
                UrunResmi = data.UrunResmi,
                FaturaResmi = data.FaturaResmi,
                SehirAdi = data.SehirAdi,
                Adres = data.Adres,
                GarantiDurumu = data.GarantiDurumu,
                ArizaId = data.Id

            };

            return View(model);

        }
Exemple #6
0
        public async System.Threading.Tasks.Task <ActionResult> ArizaBitir(ArizaViewModel model)
        {
            try
            {
                var id          = HttpContext.GetOwinContext().Authentication.User.Identity.GetUserId();
                var user        = NewUserManager().FindById(id);
                var tumArizalar = new ArizaRepo().GetAll();
                foreach (var item in tumArizalar)
                {
                    if (item.TeknisyenId == user.Id)
                    {
                        var model2 = new ArizaViewModel()
                        {
                            ArizaId          = item.Id,
                            TeknisyenId      = item.TeknisyenId,
                            ArizaBitisTarihi = item.ArizaBitisTarihi,
                            TamirEdildiMi    = item.TamirEdildiMi,
                            TeknisyenYorumu  = item.TeknisyenYorumu,
                        };


                        var ariza = new ArizaRepo().GetById(model2.ArizaId);


                        ariza.Id = model2.ArizaId;
                        model.ArizaBitisTarihi = DateTime.Now;
                        ariza.TamirEdildiMi    = model.TamirEdildiMi;
                        ariza.TeknisyenYorumu  = model.TeknisyenYorumu;
                        //  model.TeknisyenId = null;


                        ariza.ArizaBitisTarihi = model.ArizaBitisTarihi;
                        //    ariza.TeknisyenId = model.TeknisyenId;
                        //    user.AtandiMi = false;


                        new ArizaRepo().Update(ariza);


                        //var userStore = NewUserStore();
                        //await userStore.UpdateAsync(user);
                        //userStore.Context.SaveChanges();
                        break;
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }


            return(RedirectToAction("ArizaRaporGiris", "Teknisyen"));
        }
        public async Task <ActionResult> ArizaDuzenle(ArizaViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("ArizaYonetimi"));
            }
            var ariza = new ArizaRepo().GetByID(model.ID);

            ariza.Aciklama   = model.Aciklama;
            ariza.Adres      = model.Adres;
            ariza.Baslik     = model.Baslik;
            ariza.Boylam     = model.Boylam;
            ariza.Enlem      = model.Enlem;
            ariza.MarkaID    = model.MarkaID;
            ariza.ModelID    = model.ModelID;
            ariza.TeknikerID = model.TeknikerID;
            if (ariza.TeknikerID != null)
            {
                #region Kullanıcı Bilgilendirme

                var userManager = MembershipTools.NewUserManager();
                var Teknisyen   = userManager.FindById(ariza.TeknikerID);


                string SiteUrl = Request.Url.Scheme + System.Uri.SchemeDelimiter + Request.Url.Host +
                                 (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port);

                if (ariza.OnaylandiMi == true && model.OnaylandiMi == false)
                {
                    await SiteSettings.SendMail(new MailModel()
                    {
                        Message = $"Merhaba {Teknisyen.Name}<br/><strong>'{ariza.ID}'</strong> nolu Arıza sistemden kaldırılmıştır. Yapacağınız işlemleri durdurmanız rica olunur.<br/>",
                        Subject = "Arıza Sistemden kaldırıldı",
                        To      = Teknisyen.Email
                    });
                }
                else if (ariza.OnaylandiMi == false && model.OnaylandiMi == true)
                {
                    ariza.OnaylamaTarihi = DateTime.Now;
                    await SiteSettings.SendMail(new MailModel()
                    {
                        Message = $"Merhaba {Teknisyen.Name}<br/><strong>'{ariza.ID}'</strong> nolu arıza sisteme alınmıştır<br/><a href='{SiteUrl}/Teknisyen/ArizaDetay/{ariza.ID}'>Arızayı görmek için tıklayınız</a>",
                        Subject = "Arızanız sisteme alındı!",
                        To      = Teknisyen.Email
                    });
                }
                #endregion
            }
            ariza.OnaylandiMi = model.OnaylandiMi;
            new ArizaRepo().Update();
            return(RedirectToAction("ArizaDetay", new { id = ariza.ID }));
        }
        public ActionResult DestekTalepDetay(int id)
        {
            ViewBag.kategoriler = KategoriSelectList();
            var ariza       = new ArizaRepo().GetById(id);
            var fotograflar = new FotografRepo().WithByFaultId(id);
            var model       = new KullaniciArizaDetayViewModel()
            {
                Ariza        = ariza,
                FotografList = fotograflar
            };

            return(View(model));
        }
Exemple #9
0
        public ActionResult Detay(int id)
        {
            var kullaniciId  = new ArizaRepo().GetById(id).UserID;
            var teknisyenler = TeknisyenSelectList();

            ViewBag.Teknisyenler = teknisyenler;
            var model = new ArizaDetayViewModel
            {
                Ariza        = new ArizaRepo().GetById((int)id),
                DurumListesi = new ArizaDurumRepo().GetAll().Where(x => x.ArizaID == id).ToList(),
                User         = MembershipTools.NewUserManager().Users.FirstOrDefault(x => x.Id == kullaniciId)
            };

            return(View(model));
        }
        public async Task <ActionResult> ArizaDuzenle(ArizaViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("ArizaYonetimi"));
            }
            var ariza = new ArizaRepo().GetByID(model.ID);
            ArizaBilgilendirme bilgilendirme = new ArizaBilgilendirme()
            {
                Aciklama   = model.BilgilendirmeAciklamasi,
                ArizaID    = model.ID,
                YoneticiID = HttpContext.User.Identity.GetUserId()
            };
            bool aciklamaVarMi = false;

            if (!string.IsNullOrEmpty(model.BilgilendirmeAciklamasi))
            {
                ariza.Bilgilendirmeleri.Add(bilgilendirme);
                aciklamaVarMi = true;
            }
            ariza.ArizaYapildiMi = model.ArizaYapildiMi;
            #region Kullanıcı Bilgilendirme

            string SiteUrl = Request.Url.Scheme + System.Uri.SchemeDelimiter + Request.Url.Host +
                             (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port);
            if (aciklamaVarMi)
            {
                await SiteSettings.SendMail(new MailModel()
                {
                    Message = $"Merhaba {ariza.Gondereni.Name}<br/><strong>'{ariza.ID}'</strong> nolu Arızanız için bir bildirim var<br/><p>Bildirim: <em>{model.BilgilendirmeAciklamasi}</em></p><a href='{SiteUrl}/Ariza/ArizaDetay/{ariza.ID}'>Arızayı görmek ve düzenlemek için tıklayınız</a>",
                    Subject = "Arızanız için yeni bir bildirim var",
                    To      = ariza.Gondereni.Email
                });
            }
            else if (model.ArizaYapildiMi)
            {
                await SiteSettings.SendMail(new MailModel()
                {
                    Message = $"Merhaba {ariza.Gondereni.Name}<br/><strong>'{ariza.ID}'</strong> nolu Arızanız sistemimize göre onarıldı . Lütfen anketimize katılın .<br/><a href='{SiteUrl}/Ariza/ArizaAnket/{ariza.ID}'>Anketi doldurmak için tıklayınız</a>",
                    Subject = "Arızanız için yeni bir bildirim var",
                    To      = ariza.Gondereni.Email
                });
            }
            #endregion

            new ArizaRepo().Update();
            return(RedirectToAction("ArizaDetay", new { id = ariza.ID }));
        }
        public async Task <ActionResult> ArizaAnket(int?id, AnketViewModel model)

        {
            if (id == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            var ariza = new ArizaRepo().GetByID(id.Value);

            if (ariza == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            Anket yeniAnket = new Anket()
            {
                Aciklama    = model.Aciklama,
                ArizaID     = ariza.ID,
                KullaniciID = ariza.KullaniciID,
                Puan        = model.Puan,
                TeknikerID  = ariza.TeknikerID
            };

            new AnketRepo().Insert(yeniAnket);
            string SiteUrl = Request.Url.Scheme + System.Uri.SchemeDelimiter + Request.Url.Host +
                             (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port);
            var roleManager = MembershipTools.NewRoleManager();
            var users       = roleManager.FindByName("Admin").Users;

            var           userManager = MembershipTools.NewUserManager();
            List <string> mailler     = new List <string>();

            foreach (var item in users)
            {
                mailler.Add(userManager.FindById(item.UserId).Email);
            }

            foreach (var mail in mailler)
            {
                await SiteSettings.SendMail(new MailModel
                {
                    Subject = "Yeni Anket Bildirimi",
                    Message = $"Sayın Operatör,<br/>Sitenize bir anket eklendi, Lütfen gereken işlemleri gerçekleştirin.<br/><a href='{SiteUrl}/Admin/AnketDetay/{yeniAnket.ID}'>Şimdi Bak</a><p>İyi Çalışmalar<br/>Sitenin Nöbetçisi</p>",
                    To      = mail
                });
            }
            return(RedirectToAction("Index", "Home"));
        }
Exemple #12
0
        public async Task <ActionResult> DurumEkle(string durumId, string durumIcerik, int?Ariza_ID, string user_ID, string teknisyen_ID)
        {
            // var user = MembershipTools.NewUserManager().Users.Where(x => x.Id == user_ID).FirstOrDefault();
            var user      = MembershipTools.NewUserManager().Users.FirstOrDefault(x => x.Id == user_ID);
            var teknisyen = MembershipTools.NewUserManager().Users.FirstOrDefault(x => x.Id == teknisyen_ID);
            var durumID   = Convert.ToInt32(durumId);
            var arizaRepo = new ArizaRepo();

            arizaRepo.GetById(Ariza_ID.Value).Durumlar.Add(new ArizaDurum()
            {
                ArizaID  = Ariza_ID.Value,
                Durum    = (ArizaDurumlari)durumID,
                Aciklama = durumIcerik
            });
            arizaRepo.Update();
            var siteUrl = Request.Url.Scheme + Uri.SchemeDelimiter + Request.Url.Host +
                          (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port);
            var anketurl     = $"{siteUrl}/Home/Anket?id=5&userId={user.Id}";
            var devamMesaj   = $"Merhaba {user.Name} {user.SurName}, <br/> Arıza talebinizin durumu Teknisyen {teknisyen.Name} {teknisyen.SurName} tarafından <b>{(ArizaDurumlari)durumID}</b> olarak güncellenmiştir.<br/> <b>Güncellemeye dair mesaj :</b>.{durumIcerik}";
            var anketliMesaj = $"Merhaba {user.Name} {user.SurName}, <br/> Arıza talebinizin durumu Teknisyen {teknisyen.Name} {teknisyen.SurName} tarafından <b>{(ArizaDurumlari)durumID}</b> olarak güncellenmiştir.<br/> <b>Güncellemeye dair mesaj :</b>.{durumIcerik} <br/> <b>Siz değerli müşterilerimize daha iyi hizmet verebilmek için anket formunu doldurmanızı rica ederiz. </b></br><b>Vereceğiniz tüm bilgiler siz değerli müşterilerimize daha iyi hizmet verebilmek için bizlere önemli bir kaynaktır. </b></br><b>Anketi doldurmak için <a href=" + anketurl + ">tıklayınız</a></b> ";

            if (((ArizaDurumlari)durumID).ToString() == "ArizaGiderildi" || ((ArizaDurumlari)durumID).ToString() == "Iptal")
            {
                arizaRepo.GetById(Ariza_ID.Value).sonuclandiMi = true;
                arizaRepo.Update();
                await SiteSettings.SendMail(new MailModel()
                {
                    To      = user.Email,
                    Subject = $"KLY Teknik Servis - {(ArizaDurumlari)durumID}",
                    Message = anketliMesaj
                });
            }
            else
            {
                await SiteSettings.SendMail(new MailModel()
                {
                    To      = user.Email,
                    Subject = $"KLY Teknik Servis - {(ArizaDurumlari)durumID}",
                    Message = devamMesaj
                });
            }
            return(RedirectToAction("ArizaDetay", "ServisTalep", new { id = Ariza_ID }));
        }
Exemple #13
0
        public ActionResult GorevliAta(string teknisyenId, int arizaId)
        {
            var seciliAriza = new ArizaRepo().GetById(arizaId);

            seciliAriza.TeknisyenID = teknisyenId;
            seciliAriza.OperatorID  = User.Identity.GetUserId();
            var userManager    = MembershipTools.NewUserManager();
            var operatoradsoy  = userManager.Users.FirstOrDefault(x => x.Id == seciliAriza.OperatorID).Name + " " + userManager.Users.FirstOrDefault(x => x.Id == seciliAriza.OperatorID).SurName;
            var teknisyenadsoy = userManager.Users.FirstOrDefault(x => x.Id == seciliAriza.TeknisyenID).Name + " " + userManager.Users.FirstOrDefault(x => x.Id == seciliAriza.TeknisyenID).SurName;

            new ArizaDurumRepo().Insert(new ArizaDurum()
            {
                ArizaID  = arizaId,
                Durum    = Entity.Enums.ArizaDurumlari.ServiseYonlendirildi,
                Aciklama = $"Arıza için {operatoradsoy}(Operatör) tarafından {teknisyenadsoy}(Teknisyen) görevlendirilmiştir."
            });
            new ArizaRepo().Update();
            return(RedirectToAction("Index", "ServisTalep"));
        }
        public async Task <ActionResult> ArizaDuzenle(ArizaViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("ArizaYonetimi"));
            }
            var ariza = new ArizaRepo().GetByID(model.ID);

            ariza.Aciklama    = model.Aciklama;
            ariza.Adres       = model.Adres;
            ariza.Baslik      = model.Baslik;
            ariza.Boylam      = model.Boylam;
            ariza.Enlem       = model.Enlem;
            ariza.MarkaID     = model.MarkaID;
            ariza.ModelID     = model.ModelID;
            ariza.OnaylandiMi = false;
            #region Operator Bilgilendirme
            string SiteUrl = Request.Url.Scheme + System.Uri.SchemeDelimiter + Request.Url.Host +
                             (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port);
            var roleManager = MembershipTools.NewRoleManager();
            var users       = roleManager.FindByName("Admin").Users;

            var           userManager = MembershipTools.NewUserManager();
            List <string> mailler     = new List <string>();

            foreach (var item in users)
            {
                mailler.Add(userManager.FindById(item.UserId).Email);
            }

            foreach (var mail in mailler)
            {
                await SiteSettings.SendMail(new MailModel
                {
                    Subject = "Yeni Arıza Bildirimi",
                    Message = $"Sayın Operatör,<br/>Sitenize bir arıza güncellendi, Lütfen gereken işlemleri gerçekleştirin.<br/><a href='{SiteUrl}/Admin/ArizaDetay/{ariza.ID}'>Haydi Onayla</a><p>İyi Çalışmalar<br/>Sitenin Nöbetçisi</p>",
                    To      = mail
                });
            }
            #endregion
            new ArizaRepo().Update();
            return(RedirectToAction("ArizaDetay", new { id = ariza.ID }));
        }
Exemple #15
0
        public ActionResult ArizaDetay(int id)
        {
            var    arizaRepo   = new ArizaRepo();
            var    userManager = MembershipTools.NewUserManager();
            string userId      = arizaRepo.GetById(id).UserID;
            string operatorId  = arizaRepo.GetById(id).OperatorID;
            string teknisyenId = arizaRepo.GetById(id).TeknisyenID;


            var model = new ArizaDetayViewModel
            {
                FotografList = new FotografRepo().GetAll().Where(x => x.ArızaID == id).ToList(),
                Ariza        = new ArizaRepo().GetById(id),
                DurumListesi = new ArizaDurumRepo().GetAll().Where(x => x.ArizaID == id).ToList(),
                Operator     = userManager.Users.FirstOrDefault(x => x.Id == operatorId),
                Teknisyen    = userManager.Users.FirstOrDefault(x => x.Id == teknisyenId),
                User         = userManager.Users.FirstOrDefault(x => x.Id == userId)
            };

            return(View(model));
        }
        public ActionResult ArizaYonetimi()
        {
            List <ArizaViewModel> arizalar = new ArizaRepo().GetAll().OrderByDescending(y => y.EklemeTarihi).Select(x => new ArizaViewModel()
            {
                KullaniciID     = x.KullaniciID,
                Aciklama        = x.Aciklama,
                Adres           = x.Adres,
                Baslik          = x.Baslik,
                Boylam          = x.Boylam,
                Enlem           = x.Enlem,
                MarkaID         = x.MarkaID,
                ModelID         = x.ModelID,
                TeknikerID      = x.TeknikerID,
                FotografYollari = (x.Fotograflari.Count > 0 ? x.Fotograflari.Select(y => y.Yol).ToList() : new List <string>()),
                ID             = x.ID,
                OnaylamaTarihi = x.OnaylamaTarihi,
                ArizaYapildiMi = x.ArizaYapildiMi,
                OnaylandiMi    = x.OnaylandiMi,
                EklemeTarihi   = x.EklemeTarihi
            }).ToList();

            return(View(arizalar));
        }
        public ActionResult OperatorAtama(ArizaViewModel model)
        {

            try
            {
                var id2 = HttpContext.GetOwinContext().Authentication.User.Identity.GetUserId();
                var user = NewUserManager().FindById(id2);
                var ariza = new ArizaRepo().GetById(model.ArizaId);
                if (user != null)
                {

                    ariza.OperatorId = user.Id;
                    ariza.ArizaKabulEdildiMi = true;
                    ariza.ArizaKabulTarihi = DateTime.Now;
                    new ArizaRepo().Update(ariza);


                }

            }
            catch (Exception)
            {


                TempData["Model"] = new ErrorViewModel()
                {
                    Text = $"Operator Atanması Sırasında Bir Hata Oluştu",
                    ActionName = "Index",
                    ControllerName = "Operator",
                    ErrorCode = 500
                };
                return RedirectToAction("Error", "Home");

            }
            return RedirectToAction("Index");
        }
Exemple #18
0
        public ActionResult ArizaGuncelle(ArizaViewModel model)
        {
            try
            {
                var id          = HttpContext.GetOwinContext().Authentication.User.Identity.GetUserId();
                var user        = NewUserManager().FindById(id);
                var tumArizalar = new ArizaRepo().GetAll();
                foreach (var item in tumArizalar)
                {
                    if (item.TeknisyenId == user.Id)
                    {
                        var model2 = new ArizaViewModel()
                        {
                            ArizaId     = item.Id,
                            TeknisyenId = item.TeknisyenId
                        };


                        var ariza = new ArizaRepo().GetById(model2.ArizaId);


                        model.ArizaId    = ariza.Id;
                        ariza.UrunDurumu = model.UrunDurumu;
                        new ArizaRepo().Update(ariza);
                        break;
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }


            return(RedirectToAction("ArizaRaporGiris", "Teknisyen"));
        }
        public async Task<ActionResult> TeknisyenAtama(ArizaViewModel model)

        {

            var userStore = NewUserStore();

            var TeknisyenRolu = NewRoleManager().FindByName("Teknisyen").Users.Select(x => x.UserId).ToList();



            for (int i = 0; i < TeknisyenRolu.Count; i++)
            {

                var User = await userStore.FindByIdAsync(TeknisyenRolu[i]);
                if (User.Id == model.TeknisyenId)
                {
                    User.AtandiMi = true;
                    await userStore.UpdateAsync(User);
                    userStore.Context.SaveChanges();
                    break;

                }

            }
            try
            {
                var teknisyen = NewUserManager().FindById(model.TeknisyenId);
                var ariza = new ArizaRepo().GetById(model.ArizaId);
                if (teknisyen != null)
                {

                    ariza.TeknisyenId = teknisyen.Id;
                    ariza.ArizaTeknisyeneAtandiMi = true;

                    new ArizaRepo().Update(ariza);

                }
                else
                {
                    throw new Exception("Teknisyen atama işlemi sırasında bir hata oluştu !");
                }
                var emailService = new EmailService();
                var body = $"Merhaba <b>{teknisyen.Ad} {teknisyen.Soyad}</b><br> <b>Tipi:</b>{ariza.UrunTipi} <b>Modeli:</b>{ariza.UrunAdi}olan arızalı ürün tamir edilmek üzere şahsınıza atanmıştır.";
                await emailService.SendAsync(new IdentityMessage() { Body = body, Subject = "Arıza Ataması" }, teknisyen.Email);

            }
            catch (Exception)
            {


                TempData["Model"] = new ErrorViewModel()
                {
                    Text = $"Teknisyen Ataması Sırasında Bir Hata oluştu !",
                    ActionName = "Index",
                    ControllerName = "Operator",
                    ErrorCode = 500
                };
                return RedirectToAction("Error", "Home");

            }

            return RedirectToAction("Index");

        }
        public ActionResult ArizaDetay(int?id)
        {
            var markalar = new List <SelectListItem>();

            new PcMarkaRepo().GetAll().OrderBy(x => x.MarkaAdi).ToList().ForEach(x =>
                                                                                 markalar.Add(new SelectListItem()
            {
                Text  = x.MarkaAdi,
                Value = x.ID.ToString()
            }));
            var modeller = new List <SelectListItem>();

            new PcModelRepo().GetAll().OrderBy(x => x.ModelAdi).ToList().ForEach(x =>
                                                                                 modeller.Add(new SelectListItem()
            {
                Text  = x.ModelAdi,
                Value = x.ID.ToString()
            }));

            var userManager = MembershipTools.NewUserManager();
            List <ApplicationUser> kullanicilar = userManager.Users.ToList();
            var BosTeknisyenIdleri = new ArizaRepo().GetAll();

            foreach (var item in BosTeknisyenIdleri)
            {
                if (!item.ArizaYapildiMi)
                {
                    kullanicilar.Remove(userManager.FindById(item.TeknikerID));
                }
            }
            var Kullanicilar = kullanicilar.Select(x => new KullaniciViewModel()
            {
                ID           = x.Id,
                Email        = x.Email,
                KullaniciAdi = x.UserName,
                Rol          = MembershipTools.NewRoleManager().FindById(x.Roles.FirstOrDefault().RoleId).Name
            }).Where(x => x.Rol == "Teknisyen").ToList();
            var Teknisyenler = new List <SelectListItem>();

            Kullanicilar.ForEach(x => Teknisyenler.Add(new SelectListItem()
            {
                Text  = x.KullaniciAdi,
                Value = x.ID.ToString()
            }));
            ViewBag.teknikerler = Teknisyenler;
            ViewBag.modelleri   = modeller;
            ViewBag.markalari   = markalar;
            if (id == null)
            {
                return(RedirectToAction("ArizaYonetimi"));
            }
            var ariza = new ArizaRepo().GetByID(id.Value);

            if (ariza == null)
            {
                return(RedirectToAction("ArizaYonetimi"));
            }
            var model = new ArizaViewModel()
            {
                Baslik            = ariza.Baslik,
                Aciklama          = ariza.Aciklama,
                Adres             = ariza.Adres,
                Boylam            = ariza.Boylam,
                Enlem             = ariza.Enlem,
                ID                = ariza.ID,
                MarkaID           = ariza.MarkaID,
                ModelID           = ariza.ModelID,
                OnaylamaTarihi    = ariza.OnaylamaTarihi,
                FotografYollari   = ariza.Fotograflari.Select(x => x.Yol).ToList(),
                Bilgilendirmeleri = new ArizaBilgilendirmeRepo().GetAll().Where(z => z.ArizaID == ariza.ID).Select(y => new ArizaBilgilendirmeViewModel()
                {
                    ID             = y.ID,
                    Aciklama       = y.Aciklama,
                    AciklamaZamani = y.AciklamaZamani,
                    ArizaID        = y.ArizaID,
                    YoneticiID     = y.YoneticiID,
                    OlumluMu       = y.OlumluMu
                }).ToList(),
                KullaniciID    = ariza.KullaniciID,
                TeknikerID     = ariza.TeknikerID,
                ArizaYapildiMi = ariza.ArizaYapildiMi,
                OnaylandiMi    = ariza.OnaylandiMi
            };

            return(View(model));
        }
Exemple #21
0
        public ActionResult Index()
        {
            var model = new ArizaRepo().GetAll().OrderByDescending(x => x.CreateDate).Take(100);

            return(View(model));
        }
Exemple #22
0
        public ActionResult AktifServisTalepleri()
        {
            var model = new ArizaRepo().AktifServisTalebiListele();

            return(View(model));
        }
        public ActionResult DestekTalepListesi()
        {
            var model = new ArizaRepo().GetAll().OrderByDescending(x => x.CreateDate).Where(x => x.UserID == User.Identity.GetUserId()).ToList();

            return(View(model));
        }
Exemple #24
0
        public ActionResult TeknisyeneGoreTamamlanmisServisTalepleri(string teknisyenId)
        {
            var model = new ArizaRepo().TeknisyeneGoreTamamlanmisServisTalebiListele(teknisyenId);

            return(View(model));
        }