Example #1
0
        public async Task <IActionResult> Edit(int?id, OyuncuEditDto oyuncuEditDto)
        {
            try
            {
                ModelState.Remove("Oyuncu.Id");
                ModelState.Remove("Oyuncu.Sactipi");
                ModelState.Remove("KisiEditDto.Kisi.Ilce.Id");
                ModelState.Remove("KisiEditDto.Kisi.Ilce.IlId");
                ModelState.Remove("KisiEditDto.Kisi.Ilce.Adi");


                if (ModelState.IsValid)
                {
                    try
                    {
                        Oyuncu Oyuncu = oyuncuEditDto.Oyuncu;
                        Oyuncu.CT_AnaCast        = false;
                        Oyuncu.CT_OnFGR          = false;
                        Oyuncu.CT_YardımciOyuncu = false;
                        if (oyuncuEditDto.CastTipleri.IsNotNull())
                        {
                            foreach (EnuCastTipi item in oyuncuEditDto.CastTipleri)
                            {
                                switch (item)
                                {
                                case EnuCastTipi.YardımciOyuncu:
                                    Oyuncu.CT_YardımciOyuncu = true;
                                    break;

                                case EnuCastTipi.FGR:
                                    Oyuncu.CT_OnFGR = true;
                                    break;

                                case EnuCastTipi.AnaCast:
                                    Oyuncu.CT_AnaCast = true;
                                    break;

                                default:
                                    break;
                                }
                            }
                        }
                        Oyuncu.Kisi = oyuncuEditDto.KisiEditDto.Kisi;

                        if (oyuncuEditDto.KisiEditDto.ProfilFotoFile != null)
                        {
                            oyuncuEditDto.KisiEditDto.Kisi.ProfilFotoUrl = oyuncuEditDto.KisiEditDto.ProfilFotoFile.SaveFile("OyuncuResimleri");
                            if (oyuncuEditDto.Oyuncu.OyuncuResimleri == null)
                            {
                                oyuncuEditDto.Oyuncu.OyuncuResimleri = new List <OyuncuResim>();
                            }

                            oyuncuEditDto.Oyuncu.OyuncuResimleri.Add(new OyuncuResim {
                                DosyaYolu = oyuncuEditDto.KisiEditDto.Kisi.ProfilFotoUrl
                            });
                        }

                        if (oyuncuEditDto.KisiEditDto.KimlikOnFile != null)
                        {
                            oyuncuEditDto.KisiEditDto.Kisi.KimlikOnUrl = oyuncuEditDto.KisiEditDto.KimlikOnFile.SaveFile("Kimlikler");
                        }

                        if (oyuncuEditDto.KisiEditDto.KimlikArkaFile != null)
                        {
                            oyuncuEditDto.KisiEditDto.Kisi.KimlikArkaUrl = oyuncuEditDto.KisiEditDto.KimlikArkaFile.SaveFile("Kimlikler");
                        }


                        if (oyuncuEditDto.OyuncuResimleriFile != null && oyuncuEditDto.OyuncuResimleriFile.Count > 0)
                        {
                            if (oyuncuEditDto.Oyuncu.OyuncuResimleri == null)
                            {
                                oyuncuEditDto.Oyuncu.OyuncuResimleri = new List <OyuncuResim>();
                            }
                            foreach (var item in oyuncuEditDto.OyuncuResimleriFile)
                            {
                                oyuncuEditDto.Oyuncu.OyuncuResimleri.Add(
                                    new OyuncuResim {
                                    DosyaYolu = item.SaveFile("OyuncuResimleri")
                                }
                                    );
                            }
                        }

                        if (oyuncuEditDto.OyuncuVideolariFile != null && oyuncuEditDto.OyuncuVideolariFile.Count > 0)
                        {
                            oyuncuEditDto.Oyuncu.OyuncuVideolari = new List <OyuncuVideo>();
                            foreach (var item in oyuncuEditDto.OyuncuVideolariFile)
                            {
                                oyuncuEditDto.Oyuncu.OyuncuVideolari.Add(
                                    new OyuncuVideo {
                                    DosyaYolu = item.SaveFile("OyuncuVideolari")
                                }
                                    );
                            }
                        }

                        if (id == null)
                        {
                            await _OyuncuServis.AddAsync(Oyuncu, _loginHelper.UserHelper);
                        }
                        else
                        {
                            if (id != Oyuncu.Id)
                            {
                                return(NotFound());
                            }
                            await _OyuncuServis.UpdateAsync(Oyuncu, _loginHelper.UserHelper);
                        }
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        if (!await OyuncuExistsAsync(oyuncuEditDto.Oyuncu.Id))
                        {
                            return(NotFound());
                        }
                        else
                        {
                            throw;
                        }
                    }
                    return(RedirectToAction(nameof(Index)));
                }
                else
                {
                    MesajHelper.HataEkle(ViewBag, ModelState);
                }
            }
            catch (Exception ex)
            {
                MesajHelper.HataEkle(ViewBag, ex.Message);
            }

            var combolar = await _OyuncuServis.GetEditDtoAsync(id);

            oyuncuEditDto.KisiEditDto.Ilceler  = combolar.KisiEditDto.Ilceler;
            oyuncuEditDto.KisiEditDto.Iller    = combolar.KisiEditDto.Iller;
            oyuncuEditDto.KisiEditDto.Uyruklar = combolar.KisiEditDto.Uyruklar;
            return(View(oyuncuEditDto));
        }
Example #2
0
        private static void ResimYukle()
        {
            UserHelper userHelper = new UserHelper
            {
                Id = 1
            };

            webRootPath = Path.Combine(System.IO.Directory.GetCurrentDirectory(), "wwwroot");


            var dosyalar = System.IO.Directory.EnumerateFiles(@"c:\\Resimler", "*", SearchOption.AllDirectories);

            List <Oyuncu> oyuncular = _oyuncuServis.GetList(k => k.Kisi.ProfilFotoUrl == null && k.Aktif == true && k.Kisi.Aktif == true);
            //List<Oyuncu> oyuncular = oyuncuServis.GetList(k => k.Kisi.Adi.StartsWith("OSMAN") && k.Kisi.Soyadi.StartsWith("KERİMOĞLU") && k.Aktif == true && k.Kisi.Aktif == true);
            int i = 0;

            foreach (var oyuncu in oyuncular)
            {
                if (i % 250 == 0)
                {
                    Console.WriteLine($"%{i - 100 / oyuncular.Count} ({i} / {oyuncular.Count})");
                }
                i++;

                List <OyuncuResim> resimler = new List <OyuncuResim>();

                string yil = "";
                if (oyuncu.Kisi.DogumTarihi != null && oyuncu.Kisi.DogumTarihi.Value.Year != 1905)
                {
                    yil = oyuncu.Kisi.DogumTarihi.Value.Year.ToString();
                }

                List <string> files = dosyalar.Where(d =>
                                                     (yil != "" || d.StartsWith(yil)) &&
                                                     d.ToLower().TurkceKarakterdenDonustur()
                                                     .Contains($"{oyuncu.Kisi.Adi} {oyuncu.Kisi.Soyadi}".ToLower().TurkceKarakterdenDonustur())
                                                     ).ToList();

                if (files.Count == 0)
                {
                    Console.WriteLine($"Bulunamadı {oyuncu.Kisi.Adi} {oyuncu.Kisi.Soyadi}");
                }
                else
                {
                    List <string> control = files.GroupBy(g => g.Substring(13, 4)).Select(g => g.Key).ToList();

                    if (control.Count > 1)
                    {
                        Console.WriteLine($"Çift Kayıt {oyuncu.Kisi.Adi} {oyuncu.Kisi.Soyadi}");
                        foreach (var resim in files)
                        {
                            SaveFile(resim, "CiftKayit");
                        }
                    }
                    else
                    {
                        DateTime minDate = DateTime.Now;
                        foreach (var resim in files)
                        {
                            FileInfo fi = new FileInfo(resim);
                            if (minDate > fi.CreationTime)
                            {
                                minDate = fi.CreationTime;
                            }


                            resimler.Add(new OyuncuResim
                            {
                                OyuncuId         = oyuncu.Id,
                                DosyaYolu        = SaveFile(resim, "OyuncuResimleri"),
                                EklemeZamani     = fi.CreationTime,
                                GuncellemeZamani = fi.CreationTime
                            });
                        }

                        if (resimler.Count > 0)
                        {
                            oyuncu.Kisi.ProfilFotoUrl = resimler[0].DosyaYolu;
                            if (int.TryParse(control[0], out int n))
                            {
                                if (oyuncu.Kisi.DogumTarihi == null)
                                {
                                    oyuncu.Kisi.DogumTarihi = new DateTime(control[0].ToInt(), 1, 1);
                                }
                                else
                                {
                                    oyuncu.Kisi.DogumTarihi = new DateTime(control[0].ToInt(), oyuncu.Kisi.DogumTarihi.Value.Month, oyuncu.Kisi.DogumTarihi.Value.Day);
                                }
                            }
                            if (oyuncu.EklemeZamani > minDate)
                            {
                                oyuncu.EklemeZamani      = minDate;
                                oyuncu.Kisi.EklemeZamani = minDate;
                            }
                            _oyuncuServis.UpdateAsync(oyuncu, userHelper);
                            _oyuncuResimServis.SaveListAsync(resimler, userHelper);
                        }
                    }
                }
            }
        }