示例#1
0
        public IActionResult PaylasilanaEkle(DosyaYukleme yuklenecekDosya, int klasorId)
        {
            string referer = Request.Headers["Referer"].ToString();
            var    result  = paylasilanlarDal.PaylasilanaEkle(yuklenecekDosya, klasorId);

            if (result.Code == 0)
            {
                TempData["YuklemeHata"] = result.Data;
                return(Redirect(referer));
            }
            else if (result.Code == 1)
            {
                ViewBag.Message = result.Data;
                return(View());
            }
            else if (result.Code == 2)
            {
                TempData["Basarili"] = result.Data;
                return(Redirect(referer));
            }
            else
            {
                TempData["YuklemeHata"] = result.Data;
                return(Redirect(referer));
            }
        }
        public IActionResult DosyaINYukle(DosyaYukleme yuklenecekDosya, int klasorId)
        {
            string referer = Request.Headers["Referer"].ToString();
            var    session = HttpContext.Session.GetString("kullaniciId");
            var    sonuc   = klasorDal.DosyaINYukle(yuklenecekDosya, klasorId, session);

            if (sonuc.Code == 0)
            {
                TempData["YuklemeHata"] = sonuc.Message;
                return(Redirect(referer));
            }
            else if (sonuc.Code == 1)
            {
                ViewBag.Message = sonuc.Message;
                return(View());
            }
            else if (sonuc.Code == 2)
            {
                TempData["Basarili"] = sonuc.Message;
                return(Redirect(referer));
            }
            else
            {
                TempData["YuklemeHata"] = sonuc.Message;
                return(Redirect(referer));
            }
        }
        public ServiceResult PaylasilanaEkle(DosyaYukleme yuklenecekDosya, int klasorId)
        {
            ServiceResult result = new ServiceResult();

            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    foreach (var item in yuklenecekDosya.Files)
                    {
                        var filename = Path.GetFileName(item.FileName);
                        var icindebulundugumklasorunid = klasorId;
                        var icindeoldugumklasorunpathi = db.Paylasilanlar.Where(x => x.DosyaId == klasorId).Select(x => x.PaylasilaninYolu).Single();
                        var path        = icindeoldugumklasorunpathi + @"\" + filename;
                        var isPathExist = db.Dosya.Any(x => x.DosyaYolu == path && x.Durumu != true);
                        if (isPathExist == true)
                        {
                            result.Code = 0;
                            result.Data = "Aynı dosyadan var. Farklı bir dosya deneyiniz.";
                            return(result);
                        }
                        else
                        {
                            if (item.Length < 0)
                            {
                                result.Code = 1;
                                result.Data = "Oluşturulamadı";
                                return(result);
                            }
                            Paylasilanlar paylas                      = db.Paylasilanlar.SingleOrDefault(x => x.DosyaId == klasorId);
                            var           paylasilankisi              = paylas.PaylasilanKisi;
                            var           kimpaylasti                 = paylas.KimPaylasti;
                            var           yetkiid                     = paylas.Yetki;
                            var           paylasilaninyolu            = paylas.PaylasilaninYolu;
                            var           parentid                    = paylas.PaylasilanlarinParentId;
                            var           icindeoldugumklasorunpathi1 = db.Dosya.Where(x => x.DosyaId == klasorId && x.DosyaMi == null).Select(x => x.DosyaYolu).Single();
                            var           path1 = icindeoldugumklasorunpathi1 + @"\" + filename;
                            DosyaTB_Ekle(path1, Convert.ToInt32(item.Length), Path.GetExtension(filename), filename, klasorId, (int)kimpaylasti, true);
                            var dosyaid = db.Dosya.Where(x => x.DosyaYolu == path1).Select(x => x.DosyaId).Single();
                            PaylasilanlarTB_Ekle(dosyaid, filename, (int)paylasilankisi, (int)kimpaylasti, (int)yetkiid, path, klasorId, true);
                            item.CopyTo(new FileStream(path, FileMode.Create));
                            item.CopyTo(new FileStream(path1, FileMode.Create));
                        }
                        transaction.Commit();
                        result.Code = 2;
                        result.Data = "Islem Basarili";
                        return(result);
                    }
                }
                catch (Exception)
                {
                    result.Code = 3;
                    result.Data = "Bir hata meydana geldi. Lütfen yükleme yapmayı tekrar deneyiniz.";
                    transaction.Rollback();
                    return(result);
                }
                return(result);
            }
        }
示例#4
0
        public ServiceResult DosyaYukle(DosyaYukleme yuklenecekDosya, string kullaniciId)
        {
            var           kId    = Convert.ToInt32(kullaniciId);
            ServiceResult result = new ServiceResult();

            foreach (var item in yuklenecekDosya.Files)
            {
                var filename = Path.GetFileName(item.FileName);

                var path        = Path.Combine(hostingEnvironment.WebRootPath, "Dosyalarım");
                var filepath    = Path.Combine(path, kullaniciId, filename);
                var isPathExist = db.Dosya.Any(x => x.DosyaYolu == filepath && x.Durumu != true);
                if (isPathExist == true)
                {
                    result.Message = "Bir veya birden fazla dosyanız zaten yuklu";
                }
                else
                {
                    if (item.Length < 0)
                    {
                        result.Message = "Dosyanız yuklenemedi";
                    }
                    Dosya dosya = new Dosya
                    {
                        DosyaBoyutu       = Convert.ToInt32(item.Length),
                        DosyaTipi         = Path.GetExtension(filename),
                        DosyaAdi          = filename,
                        DosyaYolu         = filepath,
                        KullaniciId       = kId,
                        OlusturulmaZamani = DateTime.Now,
                        DosyaMi           = true
                    };
                    db.Dosya.Add(dosya);
                    result.Data    = true;
                    result.Code    = 1;
                    result.Message = "Başarılı bir şekilde yukleme tamamlandı";
                    db.SaveChanges();
                    var checkpath = Path.Combine(hostingEnvironment.WebRootPath, "Dosyalarım", kullaniciId);
                    if (!Directory.Exists(checkpath))
                    {
                        Directory.CreateDirectory(checkpath);
                    }
                    using (var filestream = new FileStream(filepath, FileMode.Create))
                    {
                        item.CopyTo(filestream);
                    }
                }
            }
            return(result);
        }
        public IActionResult DosyaYukle(DosyaYukleme yuklenecekDosya)
        {
            var kullaniciId = HttpContext.Session.GetString("kullaniciId");
            var result      = dosyaDal.DosyaYukle(yuklenecekDosya, kullaniciId);

            if (result.Code == 0)
            {
                TempData["YuklemeHata1"] = result.Message;
                return(RedirectToAction("AnaSayfa", "Klasor"));
            }
            else
            {
                TempData["Basarili1"] = result.Message;
                return(RedirectToAction("AnaSayfa", "Klasor"));
            }
        }