public ActionResult GetEskiArizalar() { var id = HttpContext.GetOwinContext().Authentication.User.Identity.GetUserId(); var ariza = new ArizaRepository().GetAll(x => x.TeknisyenId == id && x.ArizaYapildiMi == true).ToList(); if (ariza != null) { var data = new List <ArizaViewModel>(); foreach (var item in ariza) { data.Add(new ArizaViewModel() { Id = item.Id, MusteriAdi = item.Musteri.Name + " " + item.Musteri.Surname, Adres = item.Adres, Aciklama = item.Aciklama, ArizaOlusturmaTarihi = item.ArizaOlusturmaTarihi, ArizaBaslangicTarihi = item.ArizaBaslangicTarihi ?? DateTime.Now, ArizaBitisTarihi = item.ArizaBitisTarihi ?? DateTime.Now, ArizaFotograflari = new FotografRepository().GetAll(x => x.ArizaId == item.Id).Select(y => y.Yol).ToList(), GarantiliVarMi = item.GarantiliVarMi, Ucret = item.Ucret, MarkaAdi = item.MarkaAdi, ModelAdi = item.ModelAdi, }); } return(View(data)); } else { TempData["Message"] = "Bitirilmiş Bir Arızanız Bulunmamaktadır"; return(View()); } }
public ActionResult Arizalar() { var teknisyenler = Teknisyenler(); ViewBag.TeknisyenList = teknisyenler; var data = new List <ArizaViewModel>(); var arizaRepo = new ArizaRepository(); var ariza = arizaRepo.GetAll() .ToList(); foreach (var x in ariza) { data.Add(new ArizaViewModel() { Id = x.Id, MusteriId = x.MusteriId, MusteriAdi = GetNameSurname(x.MusteriId), Adres = x.Adres, TeknisyenId = x.TeknisyenId ?? null, ArizaOlusturmaTarihi = x.ArizaOlusturmaTarihi, ArizaOnaylandiMi = x.ArizaOnaylandiMi, ArizaOlusturmaTarihiS = $"{x.ArizaOlusturmaTarihi:O}", }); } return(View(data)); }
public JsonResult Rapor2() { var user = NewUserManager().Users.ToList(); var arizaRepo = new ArizaRepository(); var sonArizalar = new List <ArizaViewModel>(); foreach (var item in user) { if (NewUserManager().IsInRole(item.Id, "Teknisyen")) { var ariza = arizaRepo.GetAll().FindLast(x => x.TeknisyenId == item.Id); if (ariza != null) { sonArizalar.Add(new ArizaViewModel() { TeknisyenAdi = ariza.Teknisyen?.Name + " " + ariza.Teknisyen?.Surname, ArizaBaslangicTarihiS = $"{ariza.ArizaBaslangicTarihi:O}", ArizaBitisTarihiS = $"{ariza.ArizaBitisTarihi:O}" }); } } } return(Json(new ResponseData() { message = $"{sonArizalar.Count} adet kayıt bulundu", success = true, data = sonArizalar }, JsonRequestBehavior.AllowGet)); }
public ActionResult GetArizaDetay(ArizaViewModel model) { try { var arizaRepo = new ArizaRepository(); var ariza = arizaRepo.GetAll().FirstOrDefault(x => x.Id == model.Id); if (ariza == null) { return(View(model)); } ariza.GarantiliVarMi = model.GarantiliVarMi; ariza.Ucret = model.Ucret; arizaRepo.Update(ariza); TempData["Message"] = "Güncelleme başarılı"; return(RedirectToAction("GetArizaDetay", "Teknisyen")); } catch (Exception ex) { TempData["Model"] = new ErrorViewModel() { Text = $"Bir hata oluştu {ex.Message}", ActionName = "Guncelle", ControllerName = "Teknisyen", ErrorCode = 500 }; return(RedirectToAction("Error", "Home")); } }
public ActionResult GetAriza() { var id = HttpContext.GetOwinContext().Authentication.User.Identity.GetUserId(); var ariza = new ArizaRepository().GetAll().FirstOrDefault(x => x.TeknisyenId == id && x.ArizaYapildiMi == false); if (ariza != null) { var data = Mapper.Map <ArizaViewModel>(ariza); data.ArizaFotograflari = ariza.Fotograflar.Select(y => y.Yol).ToList(); data.MusteriAdi = ariza.Musteri.Name + " " + ariza.Musteri.Surname; data.TeknisyenDurumu = ariza.Teknisyen.TeknisyenDurumu; //var data = new ArizaViewModel() //{ // Id = ariza.Id, // MusteriAdi = ariza.Musteri.Name + " " + ariza.Musteri.Surname, // Adres = ariza.Adres, // Aciklama = ariza.Aciklama, // ArizaOlusturmaTarihi = ariza.ArizaOlusturmaTarihi //}; return(View(data)); } else { TempData["Message"] = "Atanmış Bir Arızanız Bulunmamaktadır"; return(View()); } }
public async Task <JsonResult> IsOnay(int id) { try { var arizaRepo = new ArizaRepository(); var ariza = arizaRepo.GetAll().FirstOrDefault(x => x.Id == id); var userStore = NewUserStore(); var teknisyen = await userStore.FindByIdAsync(ariza.TeknisyenId); if (teknisyen == null) { return(Json(new ResponseData() { message = "Kullanıcı bulunamadı", success = false })); } if (teknisyen.TeknisyenDurumu == TeknisyenDurumu.Atandı) { return(Json(new ResponseData() { message = "Üzerinize kayıtlı bir iş var", success = false })); } else { ariza.ArizaBaslangicTarihi = DateTime.Now; teknisyen.TeknisyenDurumu = TeknisyenDurumu.Atandı; await userStore.UpdateAsync(teknisyen); userStore.Context.SaveChanges(); ariza.Teknisyen.TeknisyenDurumu = teknisyen.TeknisyenDurumu; var arizaLogRepo = new ArizaLogRepository(); var log = new ArizaLog() { ArizaId = ariza.Id, Aciklama = "Teknisyen atanmıştır", Zaman = DateTime.Now }; arizaLogRepo.Insert(log); //ariza.ArizaLoglar.Add(log); arizaRepo.Update(ariza); } return(Json(new ResponseData() { message = "İş onayı başarılı", success = true, })); } catch (Exception ex) { return(Json(new ResponseData() { message = $"Bir hata oluştu: {ex.Message}", success = false })); } }
public ActionResult KayitliArizalar() { var id = HttpContext.User.Identity.GetUserId(); var data = new List <ArizaViewModel>(); var ariza = new ArizaRepository().GetAll(x => x.MusteriId == id).ToList(); foreach (var x in ariza) { if (x.TeknisyenId == null) { data.Add(new ArizaViewModel() { Id = x.Id, ArizaOlusturmaTarihiS = $"{x.ArizaOlusturmaTarihi:O}", MusteriAdi = GetNameSurname(x.MusteriId), ModelAdi = x.ModelAdi, MarkaAdi = x.MarkaAdi, Adres = x.Adres, Aciklama = x.Aciklama, ArizaOnaylandiMi = x.ArizaOnaylandiMi, ArizaFotograflari = new FotografRepository().GetAll(z => z.ArizaId == x.Id).Select(y => y.Yol).ToList(), GarantiliVarMi = x.GarantiliVarMi, Ucret = x.Ucret, ArizaYapildiMi = x.ArizaYapildiMi }); } else { data.Add(new ArizaViewModel() { Id = x.Id, ArizaOlusturmaTarihiS = $"{x.ArizaOlusturmaTarihi:O}", MusteriAdi = x.Musteri.Name + " " + x.Musteri.Surname, ModelAdi = x.ModelAdi, MarkaAdi = x.MarkaAdi, Adres = x.Adres, Aciklama = x.Aciklama, TeknisyenId = x.TeknisyenId, TeknisyenAdi = NewUserManager().FindById(x.TeknisyenId).Name + " " + NewUserManager().FindById(x.TeknisyenId).Surname, TeknisyenDurumu = NewUserManager().FindById(x.TeknisyenId).TeknisyenDurumu, ArizaOnaylandiMi = x.ArizaOnaylandiMi, ArizaFotograflari = new FotografRepository().GetAll(z => z.ArizaId == x.Id).Select(y => y.Yol).ToList(), GarantiliVarMi = x.GarantiliVarMi, Ucret = x.Ucret, ArizaYapildiMi = x.ArizaYapildiMi, ArizaLoglar = new ArizaLogRepository().GetAll(a => a.ArizaId == x.Id).ToList() }); } } return(View(data)); }
public ActionResult GetArizaDetay(int id = 0) { if (id == 0) { return(View()); } var ariza = new ArizaRepository().GetAll().FirstOrDefault(x => x.Id == id); var data = Mapper.Map <ArizaViewModel>(ariza); data.ArizaFotograflari = ariza.Fotograflar.Select(y => y.Yol).ToList(); data.MusteriAdi = ariza.Musteri.Name + " " + ariza.Musteri.Surname; return(View(data)); }
public EntityService() { arizaRepository = new ArizaRepository(); detayRepository = new DetayRepository(); kategoriRepository = new KategoriRepository(); markaRepository = new MarkaRepository(); modelRepository = new ModelRepository(); musteriRepository = new MusteriRepository(); personelRepository = new PersonelRepository(); servisDurumRepository = new ServisDurumRepository(); servisYeriRepository = new ServisYeriRepository(); urunRepository = new UrunRepository(); urunTeslimRepository = new UrunTeslimRepository(); }
public async Task <JsonResult> Yolda(int id) { try { var arizaRepo = new ArizaRepository(); var ariza = arizaRepo.GetAll().FirstOrDefault(x => x.Id == id); var userStore = NewUserStore(); var teknisyen = await userStore.FindByIdAsync(ariza.TeknisyenId); if (teknisyen == null) { return(Json(new ResponseData() { message = "Kullanıcı bulunamadı", success = false })); } teknisyen.TeknisyenDurumu = TeknisyenDurumu.Yolda; await userStore.UpdateAsync(teknisyen); userStore.Context.SaveChanges(); ariza.Teknisyen.TeknisyenDurumu = teknisyen.TeknisyenDurumu; var arizaLogRepo = new ArizaLogRepository(); var log = new ArizaLog() { ArizaId = ariza.Id, Aciklama = "Teknisyen yola çıktı.", Zaman = DateTime.Now }; arizaLogRepo.Insert(log); //ariza.ArizaLoglar.Add(log); arizaRepo.Update(ariza); return(Json(new ResponseData() { message = "İşlem başarılı", success = true })); } catch (Exception ex) { return(Json(new ResponseData() { message = $"Bir hata oluştu: {ex.Message}", success = false })); } }
public JsonResult Rapor3() { var arizaRepo = new ArizaRepository(); var arizalar = arizaRepo.GetAll(x => x.ArizaYapildiMi == true); var toplamS = new TimeSpan(); foreach (var ariza in arizalar) { toplamS += (TimeSpan)(ariza.ArizaBitisTarihi - ariza.ArizaOlusturmaTarihi); } return(Json(new ResponseData() { message = $" adet kayıt bulundu", success = true, }, JsonRequestBehavior.AllowGet)); }
public JsonResult GetArizaDetay(int id) { try { var ariza = new ArizaRepository().GetAll().FirstOrDefault(x => x.Id == id); if (ariza == null) { return(Json(new ResponseData() { message = "Arıza kaydı bulunamadı", success = false })); } var data = new ArizaViewModel() { Id = ariza.Id, MusteriAdi = ariza.Musteri.Name + " " + ariza.Musteri.Surname, ModelAdi = ariza.ModelAdi, MarkaAdi = ariza.MarkaAdi, TeknisyenId = ariza.TeknisyenId ?? null, TeknisyenDurumu = ariza.Teknisyen?.TeknisyenDurumu ?? TeknisyenDurumu.Beklemede, TeknisyenAdi = ariza.Teknisyen?.Name + " " + ariza.Teknisyen?.Surname, Adres = ariza.Adres, Aciklama = ariza.Aciklama, ArizaOlusturmaTarihiS = $"{ariza.ArizaOlusturmaTarihi:O}", ArizaFotograflari = new FotografRepository().GetAll(x => x.ArizaId == ariza.Id).Select(y => y.Yol).ToList(), GarantiliVarMi = ariza.GarantiliVarMi, Ucret = ariza.Ucret, ArizaYapildiMi = ariza.ArizaYapildiMi }; return(Json(new ResponseData() { message = "Güncelleme başarılı", success = true, data = data })); } catch (Exception ex) { return(Json(new ResponseData() { message = $"Bir hata oluştu {ex.Message}", success = false })); } }
public async Task <JsonResult> Ulasti(int id) { try { var arizaRepo = new ArizaRepository(); var ariza = arizaRepo.GetAll().FirstOrDefault(x => x.Id == id); var userStore = NewUserStore(); var teknisyen = await userStore.FindByIdAsync(ariza.TeknisyenId); if (teknisyen == null) { return(Json(new ResponseData() { message = "Kullanıcı bulunamadı", success = false })); } teknisyen.TeknisyenDurumu = TeknisyenDurumu.Ulasti; await userStore.UpdateAsync(teknisyen); userStore.Context.SaveChanges(); ariza.Teknisyen.TeknisyenDurumu = teknisyen.TeknisyenDurumu; arizaRepo.Update(ariza); return(Json(new ResponseData() { message = "İşlem başarılı", success = true })); } catch (Exception ex) { return(Json(new ResponseData() { message = $"Bir hata oluştu: {ex.Message}", success = false })); } }
public JsonResult Rapor4() { var arizaRepo = new ArizaRepository().GetAll(); var userRepo = NewUserManager().Users.ToList(); var anketRepo = new AnketRepository().GetAll(); var teknisyenSorgu = from ariza in arizaRepo join teknisyen in userRepo on ariza.TeknisyenId equals teknisyen.Id join anket in anketRepo on ariza.AnketId equals anket.Id where teknisyen.Id == ariza.TeknisyenId & anket.Id == ariza.AnketId group new { ariza, teknisyen } by new { teknisyen.Name, teknisyen.Surname } into gp select new { isim = gp.Key.Name + " " + gp.Key.Surname, toplam = gp.Average(x => x.ariza.Anket.Soru6) }; var data = teknisyenSorgu.ToList(); return(Json(new ResponseData() { message = $"{data.Count} adet kayıt bulundu", success = true, data = data }, JsonRequestBehavior.AllowGet)); }
public async Task <JsonResult> Guncelle(ArizaViewModel data) { try { if (data == null) { return(Json(new ResponseData() { message = "Arıza kaydı bulunamadı", success = false })); } var arizaRepo = new ArizaRepository(); var ariza = arizaRepo.GetById(data.Id); ariza.TeknisyenId = data.TeknisyenId; ariza.ArizaOnaylandiMi = data.ArizaOnaylandiMi; if (data.ArizaOnaylandiMi) { if (data.TeknisyenId == null || data.TeknisyenId == "0") { return(Json(new ResponseData() { message = "Lütfen teknisyen seçiniz", success = false })); } var userStore = NewUserStore(); var teknisyen = await userStore.FindByIdAsync(data.TeknisyenId); teknisyen.TeknisyenDurumu = TeknisyenDurumu.Beklemede; await userStore.UpdateAsync(teknisyen); userStore.Context.SaveChanges(); arizaRepo.Update(ariza); var arizaLogRepo = new ArizaLogRepository(); var log = new ArizaLog() { ArizaId = ariza.Id, Aciklama = "Arızanız onaylanmıştır", Zaman = DateTime.Now }; arizaLogRepo.Insert(log); //ariza.ArizaLoglar.Add(log); arizaRepo.Update(ariza); string SiteUrl = Request.Url.Scheme + System.Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port); var user = await NewUserStore().FindByIdAsync(ariza.TeknisyenId); // Bu satır silinecek var userM = NewUserManager().FindById(ariza.MusteriId); var emailServiceM = new EmailService(); var bodyM = $"Merhaba <b>{userM.Name} {userM.Surname}</b><br>Arızanız onaylanmıştır. Sizinle en kısa sürede iletişime geçilecektir.<br> "; emailServiceM.Send(new IdentityMessage() { Body = bodyM, Subject = "Arıza Onay" }, userM.Email); return(Json(new ResponseData() { message = "Güncelleme başarılı", success = true })); } else { return(Json(new ResponseData() { message = "Ariza onaylanmadı", success = false })); } } catch (Exception ex) { return(Json(new ResponseData() { message = $"Bir hata oluştu {ex.Message}", success = false })); } }
public ActionResult ArizaBildirimi(ArizaViewModel model) { if (!ModelState.IsValid) { return(View(model)); } try { var arizaRepo = new ArizaRepository(); var ariza = new Ariza() { MusteriId = HttpContext.User.Identity.GetUserId(), Aciklama = model.Aciklama, MarkaAdi = model.MarkaAdi, ModelAdi = model.ModelAdi, Adres = model.Adres, ArizaOlusturmaTarihi = DateTime.Now, }; arizaRepo.Insert(ariza); if (model.PostedFile.Count > 0) { model.PostedFile.ForEach(file => { if (file != null && file.ContentLength > 0) { string fileName = Path.GetFileNameWithoutExtension(file.FileName); string extName = Path.GetExtension(file.FileName); fileName = StringHelpers.UrlFormatConverter(fileName); fileName += StringHelpers.GetCode(); var klasoryolu = Server.MapPath("~/Upload/"); var dosyayolu = Server.MapPath("~/Upload/") + fileName + extName; if (!Directory.Exists(klasoryolu)) { Directory.CreateDirectory(klasoryolu); } file.SaveAs(dosyayolu); WebImage img = new WebImage(dosyayolu); img.Resize(250, 250, false); img.Save(dosyayolu); new FotografRepository().Insert(new Fotograf() { ArizaId = ariza.Id, Yol = "/Upload/" + fileName + extName }); } }); } var fotograflar = new FotografRepository().GetAll(x => x.ArizaId == ariza.Id).ToList(); ariza.ArizaFoto = fotograflar.Select(x => x.Yol).ToList(); arizaRepo.Update(ariza); TempData["Message"] = "Kaydınız alınlıştır"; return(RedirectToAction("ArizaBildirimi", "Musteri")); } catch (Exception ex) { TempData["Model"] = new ErrorViewModel() { Text = $"Bir hata oluştu {ex.Message}", ActionName = "ArizaBildirimi", ControllerName = "Musteri", ErrorCode = 500 }; return(RedirectToAction("Error", "Home")); } }
public async Task <JsonResult> IslemTamam(int id) { try { var arizaRepo = new ArizaRepository(); var ariza = arizaRepo.GetAll().FirstOrDefault(x => x.Id == id); var userStore = NewUserStore(); var teknisyen = await userStore.FindByIdAsync(ariza.TeknisyenId); var musteri = await userStore.FindByIdAsync(ariza.MusteriId); if (teknisyen == null) { return(Json(new ResponseData() { message = "Kullanıcı bulunamadı", success = false })); } ariza.ArizaBitisTarihi = DateTime.Now; teknisyen.TeknisyenDurumu = TeknisyenDurumu.Bosta; await userStore.UpdateAsync(teknisyen); userStore.Context.SaveChanges(); ariza.ArizaYapildiMi = true; var arizaLogRepo = new ArizaLogRepository(); var log = new ArizaLog() { ArizaId = ariza.Id, Aciklama = "Arıza çözümlenmiştir.", Zaman = ariza.ArizaBitisTarihi.Value }; arizaLogRepo.Insert(log); //ariza.ArizaLoglar.Add(log); ariza.Teknisyen.TeknisyenDurumu = teknisyen.TeknisyenDurumu; arizaRepo.Update(ariza); var anket = new Anket(); var anketRepo = new AnketRepository(); anketRepo.Insert(anket); ariza.AnketId = anket.Id; arizaRepo.Update(ariza); string SiteUrl = Request.Url.Scheme + System.Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port); var emailService = new EmailService(); var body = $"Merhaba <b>{musteri.Name} {musteri.Surname}</b><br><br> <a href='{SiteUrl}/musteri/anket?code={ariza.AnketId}' >Anket Linki </a> "; await emailService.SendAsync(new IdentityMessage() { Body = body, Subject = "Memnuniyet Anketi" }, musteri.Email); var data = new ArizaViewModel { ArizaYapildiMi = ariza.ArizaYapildiMi, Id = ariza.Id, ArizaBitisTarihi = ariza.ArizaBitisTarihi ?? DateTime.Now, TeknisyenDurumu = ariza.Teknisyen.TeknisyenDurumu, Aciklama = ariza.Aciklama, Adres = ariza.Adres, MarkaAdi = ariza.MarkaAdi, ModelAdi = ariza.ModelAdi, MusteriId = ariza.MusteriId, MusteriAdi = ariza.Musteri.Name + " " + ariza.Musteri.Surname, ArizaOlusturmaTarihi = ariza.ArizaOlusturmaTarihi, ArizaOnaylandiMi = ariza.ArizaOnaylandiMi, TeknisyenId = ariza.TeknisyenId, }; return(Json(new ResponseData() { message = "İşlem başarılı", success = true, data = data })); } catch (Exception ex) { return(Json(new ResponseData() { message = $"Bir hata oluştu: {ex.Message}", success = false })); } }