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