Exemplo n.º 1
0
        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"));
            }
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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
                }));
            }
        }
Exemplo n.º 5
0
        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
                }));
            }
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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
                }));
            }
        }
Exemplo n.º 8
0
        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
                }));
            }
        }