public async Task <IActionResult> CastList(string id) { ProjeDetailDto model = await _ProjeServis.GetDetailAsync(id); //_ProjeServis.Pdf(); return(View(model)); }
public async Task <FileResult> Zip(string id) { ProjeDetailDto model = await _ProjeServis.GetDetailAsync(id); List <InMemoryFile> files = new List <InMemoryFile>(); foreach (var karakter in model.ProjeKarakterleri) { foreach (var oyuncu in karakter.Oyuncular) { foreach (var resim in oyuncu.OyuncuResimleri) { string dosyaYeri = FileHelper._WebRootPath + resim.Replace("/", "\\"); if (System.IO.File.Exists(dosyaYeri)) { string filename = $"{oyuncu.Adi} {oyuncu.Soyadi}_{oyuncu.OyuncuResimleri.IndexOf(resim) + 1}{Path.GetExtension(resim)}"; InMemoryFile file = new InMemoryFile { FileName = filename, Content = System.IO.File.ReadAllBytes(dosyaYeri) }; files.Add(file); } } } } return(File(GetZipArchive(files), System.Net.Mime.MediaTypeNames.Application.Zip, $"{model.ProjeAdi.Replace(" ", "")}.zip")); }
public async Task <IActionResult> MailGonder(string id) { ProjeDetailDto model = await _ProjeServis.GetDetailAsync(id); StringBuilder sb = new StringBuilder(FileHelper.ReadFile("\\MailTema\\ProjeTeklif.html")); sb.Replace("{ProjeAdi}", model.ProjeAdi); sb.Replace("{Ilgili}", model.IlgiliKisi); sb.Replace("{IlgiliTelefon}", model.IlgiliTelefon + " - " + model.IlgiliCep); sb.Replace("{IlgiliEPosta}", model.IlgiliEPosta); sb.Replace("{SunumLink}", $"{Request.Scheme}://{Request.Host}{Request.PathBase}/Projeler/Detail/{id}"); _emailServis.SendEmail(model.EPostaAdresleri, $"Life Ajans {model.ProjeAdi} sunum.", sb.ToString(), model.IlgiliEPosta); MesajHelper.MesajEkle(ViewBag, "E-Posta gönderildi."); return(RedirectToAction(nameof(Detail), new { id })); }
public async Task <FileResult> KimliklerDosya(string id) { ProjeDetailDto model = await _ProjeServis.GetDetailAsync(id); List <InMemoryFile> files = new List <InMemoryFile>(); foreach (var karakter in model.ProjeKarakterleri) { foreach (var oyuncu in karakter.Oyuncular) { if (oyuncu.KarakterDurumu == EnuKarakterDurumu.KabulEdildi) { if (oyuncu.KimlikOn.IsNotNull()) { string dosyaYeri = FileHelper._WebRootPath + oyuncu.KimlikOn.Replace("/", "\\"); if (System.IO.File.Exists(dosyaYeri)) { string filename = $"{oyuncu.Adi} {oyuncu.Soyadi}_{oyuncu.Tc}_On{Path.GetExtension(oyuncu.KimlikOn)}"; InMemoryFile file = new InMemoryFile { FileName = filename, Content = System.IO.File.ReadAllBytes(dosyaYeri) }; files.Add(file); } dosyaYeri = FileHelper._WebRootPath + oyuncu.KimlikArka.Replace("/", "\\"); if (System.IO.File.Exists(dosyaYeri)) { string filename = $"{oyuncu.Adi} {oyuncu.Soyadi}_{oyuncu.Tc}_Arka{Path.GetExtension(oyuncu.KimlikArka)}"; InMemoryFile file = new InMemoryFile { FileName = filename, Content = System.IO.File.ReadAllBytes(dosyaYeri) }; files.Add(file); } } } } } return(File(GetZipArchive(files), System.Net.Mime.MediaTypeNames.Application.Zip, $"{model.ProjeAdi.Replace(" ", "")}.zip")); }
public async Task <ProjeDetailDto> GetDetailAsync(string guidId) { int id = 0; try { //ProjeDetailDto projeDetailDto = await _projeDal.GetDetailByGuidIdAsync(guidId); Proje proje = await _dal.GetAsync(new List <string> { "Musteri", "IsiTakipEden", "IsiTakipEden.Kisi" }, i => i.GuidId == new Guid(guidId) && i.Aktif == true); List <ProjeKarakter> projeKarakterleri = await _ProjeKarakterServis.GetListByProjeIdAsync(proje.Id); //proje = await _dal.GetAsync(i => i.GuidId.Equals(guidId)); var tasks = projeKarakterleri.Select(async karakter => { karakter.ProjeKarakterOyunculari = await _ProjeKarakterOyuncuServis.GetListByProjeKarakterIdAsync(karakter.Id); foreach (var oyuncu in karakter.ProjeKarakterOyunculari) { var tResim = _oyuncuResimServis.GetListAsync(i => i.OyuncuId == oyuncu.OyuncuId && i.Aktif); var tVideo = _oyuncuVideoServis.GetListAsync(i => i.OyuncuId == oyuncu.OyuncuId && i.Aktif); oyuncu.Oyuncu.OyuncuResimleri = await tResim; oyuncu.Oyuncu.OyuncuVideolari = await tVideo; } }); await Task.WhenAll(tasks); ProjeDetailDto projeDetailDto = new ProjeDetailDto { Id = proje.Id, GuidId = proje.GuidId, MusteriAdi = proje.Musteri.Adi, ProjeAdi = proje.Adi, ProjeTarihBas = proje.TarihBas, ProjeTarihBit = proje.TarihBit, IlgiliKisi = $"{proje.IsiTakipEden.Kisi.Adi} {proje.IsiTakipEden.Kisi.Soyadi}", IlgiliCep = proje.IsiTakipEden.Kisi.Cep, IlgiliTelefon = proje.IsiTakipEden.Kisi.Telefon, IlgiliEPosta = proje.IsiTakipEden.Kisi.EPosta, EPostaAdresleri = proje.EPostaAdresleri, ProjeKarakterleri = new List <ProjeKarakterDetailDto>() }; foreach (var karakter in projeKarakterleri) { var karakterDetay = new ProjeKarakterDetailDto { Id = karakter.Id, Adi = karakter.Adi, KarakterSayisi = karakter.KarakterSayisi, Oyuncular = new List <OyuncuDetailDto>() }; foreach (var oyuncu in karakter.ProjeKarakterOyunculari) { id = oyuncu.Id; karakterDetay.Oyuncular.Add(new OyuncuDetailDto { Id = oyuncu.Oyuncu.Id, ProfilUrl = oyuncu.Oyuncu.Kisi.ProfilFotoUrl, KarakterDurumu = oyuncu.KarakterDurumu, Tc = oyuncu.Oyuncu.Kisi.TC, Adi = oyuncu.Oyuncu.Kisi.Adi, Soyadi = oyuncu.Oyuncu.Kisi.Soyadi, DogumTarihi = oyuncu.Oyuncu.Kisi.DogumTarihi, Cep = oyuncu.Oyuncu.Kisi.Cep, Telefon = oyuncu.Oyuncu.Kisi.Telefon ?? oyuncu.Oyuncu.Kisi.Telefon2 ?? "", Adres = oyuncu.Oyuncu.Kisi.Adres, Il = ((Il)((Ilce)oyuncu.Oyuncu.Kisi.Ilce.IfIsNull(new Ilce())).Il.IfIsNull(new Il())).Adi, Ilce = ((Ilce)oyuncu.Oyuncu.Kisi.Ilce.IfIsNull(new Ilce())).Adi, Yas = oyuncu.Oyuncu.Kisi.DogumTarihi == null ? 0 : ((DateTime.Today.Year - oyuncu.Oyuncu.Kisi.DogumTarihi.Value.Year) - (oyuncu.Oyuncu.Kisi.DogumTarihi.Value > DateTime.Today.AddYears(-1 * (DateTime.Today.Year - oyuncu.Oyuncu.Kisi.DogumTarihi.Value.Year)) ? -1 : 0)), KimlikOn = oyuncu.Oyuncu.Kisi.KimlikOnUrl, KimlikArka = oyuncu.Oyuncu.Kisi.KimlikArkaUrl, UstBeden = oyuncu.Oyuncu.UstBeden, AltBeden = oyuncu.Oyuncu.AltBeden, AyakNumarasi = oyuncu.Oyuncu.AyakNumarasi, Boy = oyuncu.Oyuncu.Boy, Kilo = oyuncu.Oyuncu.Kilo, GozRengi = oyuncu.Oyuncu.GozRengi, SacRengi = oyuncu.Oyuncu.SacRengi, TenRengi = oyuncu.Oyuncu.TenRengi, OyuculukEgitimi = oyuncu.Oyuncu.OyuculukEgitimi, Tecrubeler = oyuncu.Oyuncu.Tecrubeler, YabanciDil = oyuncu.Oyuncu.YabanciDil, Yetenekleri = oyuncu.Oyuncu.Yetenekleri, OyuncuResimleri = oyuncu.Oyuncu.OyuncuResimleri.OrderByDescending(d => d.EklemeZamani).Take(3).Select(i => i.DosyaYolu).ToList(), OyuncuVideolari = oyuncu.Oyuncu.OyuncuVideolari.OrderByDescending(d => d.EklemeZamani).Take(3).Select(i => i.DosyaYolu).ToList() }); } projeDetailDto.ProjeKarakterleri.Add(karakterDetay); } return(projeDetailDto); } catch (Exception ex) { return(null); } }
public async Task <IActionResult> ExcelList(string id) { ProjeDetailDto model = await _ProjeServis.GetDetailAsync(id); byte[] fileContents; using (var package = new ExcelPackage()) { var worksheet = package.Workbook.Worksheets.Add("Sheet1"); // Put whatever you want here in the sheet // For example, for cell on row1 col1 worksheet.Cells[1, 1].Value = "Sıra"; worksheet.Cells[1, 1].Style.Font.Size = 12; worksheet.Cells[1, 1].Style.Font.Bold = true; worksheet.Cells[1, 1].Style.Border.Top.Style = ExcelBorderStyle.Hair; worksheet.Column(1).Width = 6; worksheet.Cells[1, 2].Value = "Ad"; worksheet.Cells[1, 2].Style.Font.Size = 12; worksheet.Cells[1, 2].Style.Font.Bold = true; worksheet.Cells[1, 2].Style.Border.Top.Style = ExcelBorderStyle.Hair; worksheet.Column(2).Width = 25; worksheet.Cells[1, 3].Value = "Soyad"; worksheet.Cells[1, 3].Style.Font.Size = 12; worksheet.Cells[1, 3].Style.Font.Bold = true; worksheet.Cells[1, 3].Style.Border.Top.Style = ExcelBorderStyle.Hair; worksheet.Column(3).Width = 25; worksheet.Cells[1, 4].Value = "TC"; worksheet.Cells[1, 4].Style.Font.Size = 12; worksheet.Cells[1, 4].Style.Font.Bold = true; worksheet.Cells[1, 4].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; worksheet.Cells[1, 4].Style.Border.Top.Style = ExcelBorderStyle.Hair; worksheet.Column(4).Width = 18; worksheet.Cells[1, 5].Value = "D.Tarihi"; worksheet.Cells[1, 5].Style.Font.Size = 12; worksheet.Cells[1, 5].Style.Font.Bold = true; worksheet.Cells[1, 5].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; worksheet.Cells[1, 5].Style.Border.Top.Style = ExcelBorderStyle.Hair; worksheet.Column(5).Width = 18; worksheet.Cells[1, 6].Value = "Telefon"; worksheet.Cells[1, 6].Style.Font.Size = 12; worksheet.Cells[1, 6].Style.Font.Bold = true; worksheet.Cells[1, 6].Style.Border.Top.Style = ExcelBorderStyle.Hair; worksheet.Column(6).Width = 20; worksheet.Cells[1, 7].Value = "İl"; worksheet.Cells[1, 7].Style.Font.Size = 12; worksheet.Cells[1, 7].Style.Font.Bold = true; worksheet.Column(7).Style.Border.Top.Style = ExcelBorderStyle.Hair; worksheet.Column(7).Width = 20; worksheet.Cells[1, 8].Value = "İlce"; worksheet.Cells[1, 8].Style.Font.Size = 12; worksheet.Cells[1, 8].Style.Font.Bold = true; worksheet.Column(8).Style.Border.Top.Style = ExcelBorderStyle.Hair; worksheet.Column(8).Width = 20; worksheet.Cells[1, 9].Value = "Adres"; worksheet.Cells[1, 9].Style.Font.Size = 12; worksheet.Cells[1, 9].Style.Font.Bold = true; worksheet.Cells[1, 9].Style.Border.Top.Style = ExcelBorderStyle.Hair; worksheet.Column(9).Width = 60; int count = 1; foreach (var karakter in model.ProjeKarakterleri) { foreach (var oyuncu in karakter.Oyuncular) { if (oyuncu.KarakterDurumu == EnuKarakterDurumu.KabulEdildi || oyuncu.KarakterDurumu == EnuKarakterDurumu.Oynadi) { count++; worksheet.Cells[count, 1].Value = count - 1; worksheet.Cells[count, 1].Style.Font.Size = 12; worksheet.Cells[count, 1].Style.Border.Top.Style = ExcelBorderStyle.Hair; worksheet.Cells[count, 2].Value = oyuncu.Adi; worksheet.Cells[count, 2].Style.Font.Size = 12; worksheet.Cells[count, 2].Style.Border.Top.Style = ExcelBorderStyle.Hair; worksheet.Cells[count, 3].Value = oyuncu.Soyadi; worksheet.Cells[count, 3].Style.Font.Size = 12; worksheet.Cells[count, 3].Style.Border.Top.Style = ExcelBorderStyle.Hair; worksheet.Cells[count, 4].Value = oyuncu.Tc; worksheet.Cells[count, 4].Style.Font.Size = 12; worksheet.Cells[count, 4].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; worksheet.Cells[count, 4].Style.Border.Top.Style = ExcelBorderStyle.Hair; worksheet.Cells[count, 5].Value = oyuncu.DogumTarihi; worksheet.Cells[count, 5].Style.Numberformat.Format = "dd-MM-yyyy"; worksheet.Cells[count, 5].Style.Font.Size = 12; worksheet.Cells[count, 5].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; worksheet.Cells[count, 5].Style.Border.Top.Style = ExcelBorderStyle.Hair; worksheet.Cells[count, 6].Value = oyuncu.Cep ?? oyuncu.Telefon; worksheet.Cells[count, 6].Style.Font.Size = 12; worksheet.Cells[count, 6].Style.Border.Top.Style = ExcelBorderStyle.Hair; worksheet.Cells[count, 7].Value = oyuncu.Il; worksheet.Cells[count, 7].Style.Font.Size = 12; worksheet.Cells[count, 7].Style.Border.Top.Style = ExcelBorderStyle.Hair; worksheet.Cells[count, 8].Value = oyuncu.Ilce; worksheet.Cells[count, 8].Style.Font.Size = 12; worksheet.Cells[count, 8].Style.Border.Top.Style = ExcelBorderStyle.Hair; worksheet.Cells[count, 9].Value = oyuncu.Adres; worksheet.Cells[count, 9].Style.Font.Size = 12; worksheet.Cells[count, 9].Style.Border.Top.Style = ExcelBorderStyle.Hair; } } } // So many things you can try but you got the idea. // Finally when you're done, export it to byte array. fileContents = package.GetAsByteArray(); } if (fileContents == null || fileContents.Length == 0) { return(NotFound()); } return(File( fileContents: fileContents, contentType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", fileDownloadName: $"{model.MusteriAdi}-{model.ProjeAdi}-CastList.xlsx" )); }