Exemplo n.º 1
0
        public async Task <IEnumerable <SellBrandDetailDto> > GetYeniCari(string interval, int?sayfa)
        {
            var date = Methods.GetDateFromInterval(interval);


            var plasiyerler = await _db.Tblcariplasiyer.Where(s => s.Aciklama1 == "1").Select(a => new { plasiyeradi = a.PlasiyerAciklama, plasiyerkodu = a.PlasiyerKodu }).ToListAsync();

            var newcari = await _db.Tblcasabit.Where(a => a.Kayittarihi >= date).Select(a => new { CariKod = a.CariKod, PlasiyerKodu = a.PlasiyerKodu }).ToListAsync();

            var returnmodel = new List <SellBrandDetailDto>();

            foreach (var plasiyer in plasiyerler)
            {
                var onemodel = new SellBrandDetailDto();
                onemodel.Marka       = plasiyer.plasiyeradi;
                onemodel.SatisToplam = newcari.Where(a => a.PlasiyerKodu == plasiyer.plasiyerkodu).Count();
                returnmodel.Add(onemodel);
            }
            var toplam = new SellBrandDetailDto()
            {
                Marka       = "--Toplam--",
                SatisToplam = newcari.Count()
            };

            returnmodel = returnmodel.OrderByDescending(a => a.SatisToplam).Where(a => a.SatisToplam > 0).Take(15).ToList();
            returnmodel.Add(toplam);

            return(returnmodel);
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Sell(string interval, DateTime?begindate, DateTime?enddate)
        {
            var satis     = _db.Tblcahar.Where(a => a.HareketTuru == "B" && a.Borc > 0);
            var satisstok = _db.Tblsthar.Where(a => a.StharBgtip == "F" && a.StharGckod == "C");
            var tahsilat  = _db.Tblcahar.Where(a => a.HareketTuru == "D" || a.HareketTuru == "E" || a.HareketTuru == "G" || a.HareketTuru == "K" && a.Aciklama.Contains("HAVALE"));

            var plasiyerler = new List <Tblcariplasiyer>();
            var cariler     = new List <Tblcasabit>();

            if (User.IsInRole(SD.Plasiyer))
            {
                //string plakod = HttpContext.Session.GetString("plakod");
                string plakod = User.FindFirst("plakod").Value;
                plasiyerler = await _db.Tblcariplasiyer.Where(a => a.PlasiyerKodu == plakod).ToListAsync();

                cariler = await _db.Tblcasabit.Where(a => a.PlasiyerKodu == plakod).ToListAsync();
            }
            else
            {
                plasiyerler = await _db.Tblcariplasiyer.OrderBy(a => a.PlasiyerAciklama).ToListAsync();

                cariler = await _db.Tblcasabit.ToListAsync();
            }

            var tahsilatlist  = new List <Tblcahar>();
            var satislist     = new List <Tblcahar>();
            var satisstoklist = new List <Tblsthar>();
            var date          = DateTime.Today;

            if (!string.IsNullOrEmpty(interval))
            {
                date = Methods.GetDateFromInterval(interval);

                tahsilatlist = await tahsilat.Where(a => a.Tarih >= date).ToListAsync();

                satislist = await satis.Where(a => a.Tarih >= date).ToListAsync();

                satisstoklist = await satisstok.Where(a => a.StharTarih >= date).Include(a => a.Tblstsabit).ToListAsync();
            }
            else if (begindate != null && enddate != null)
            {
                tahsilatlist = await tahsilat.Where(a => a.Tarih >= begindate && a.Tarih <= enddate).ToListAsync();

                satislist = await satis.Where(a => a.Tarih >= begindate && a.Tarih <= enddate).ToListAsync();

                satisstoklist = await satisstok.Where(a => a.StharTarih >= begindate && a.StharTarih <= enddate).Include(a => a.Tblstsabit).ToListAsync();

                ViewData["aralik"] = "Rapor Aralığı : " + begindate.Value.ToShortDateString() + " - " + enddate.Value.ToShortDateString();
            }
            else
            {
                ViewData["aralik"] = "Günlük Rapor";
                tahsilatlist       = await tahsilat.Where(a => a.Tarih >= date).ToListAsync();

                satislist = await satis.Where(a => a.Tarih >= date).ToListAsync();

                satisstoklist = await satisstok.Where(a => a.StharTarih >= date).Include(a => a.Tblstsabit).ToListAsync();
            }

            var liste = new List <SellReportDTO>();

            foreach (var plas in plasiyerler)
            {
                var templist = new List <SellBrandDetailDto>();
                var yeni     = new SellReportDTO()
                {
                    plasiyerAdi    = plas.PlasiyerAciklama,
                    plasiyerKodu   = plas.PlasiyerKodu,
                    satismiktari   = 0,
                    satistoplam    = 0,
                    tahsilattoplam = 0
                };

                foreach (var cari in cariler.Where(a => a.PlasiyerKodu == plas.PlasiyerKodu))
                {
                    yeni.satismiktari   += satislist.Where(a => a.CariKod == cari.CariKod).Count();
                    yeni.satistoplam    += satislist.Where(a => a.CariKod == cari.CariKod).Sum(a => a.Borc);
                    yeni.tahsilattoplam += tahsilatlist.Where(a => a.CariKod == cari.CariKod).Sum(a => a.Alacak);

                    var tempdata = satisstoklist.Where(a => a.StharCarikod == cari.CariKod);
                    foreach (var marka in tempdata)
                    {
                        var t = new SellBrandDetailDto()
                        {
                            Marka       = marka.Tblstsabit.GrupKodu,
                            SatisToplam = marka.StharGcmik
                        };
                        templist.Add(t);
                    }
                }
                var toplamsatis = templist.Sum(a => a.SatisToplam).Value;
                yeni.SatisStok = templist.GroupBy(a => a.Marka).Select(a => new SellBrandDetailDto {
                    Marka = a.FirstOrDefault().Marka, SatisToplam = a.Sum(b => b.SatisToplam)
                }).OrderByDescending(a => a.SatisToplam).ToList();
                yeni.SatisStok.Add(new SellBrandDetailDto {
                    Marka = "-Toplam-", SatisToplam = toplamsatis
                });
                yeni.markaSatis = toplamsatis;
                liste.Add(yeni);
            }

            return(View(liste));
        }