public List <chitietdoanhthu> thongkedoanhthu(int idtour, DateTime tungay, DateTime denngay) { var doandulichs = db.Find(c => c.idtour == idtour && c.ngaykhoihanh >= tungay && c.ngaykhoihanh <= denngay); List <chitietdoanhthu> cts = new List <chitietdoanhthu>(); foreach (doandulich ct in doandulichs) { chitietdoanhthu ctdt = new chitietdoanhthu(); ctdt.tendoan = ct.tendoan; ctdt.tentour = ct.tour.tentour; if (db1.GetQuery().Any(c => c.tungay <= ct.ngaykhoihanh && c.denngay >= ct.ngaykhoihanh && c.idtour == idtour)) { ctdt.gia = (decimal)db1.GetQuery().OrderByDescending(c => c.id).FirstOrDefault(c => c.tungay <= ct.ngaykhoihanh && c.denngay >= ct.ngaykhoihanh && c.idtour == idtour).gia; } else { ctdt.gia = 0; } ctdt.soluongkhach = db2.Find(c => c.iddoandulich == ct.id).Count(); ctdt.tong = ctdt.gia * ctdt.soluongkhach; ctdt.tongchiphi = tkcpbus.tongchiphi(ct.id); ctdt.doanhthu = ctdt.tong - ctdt.tongchiphi; cts.Add(ctdt); } return(cts); }
public List <chitietdoanhthu> listthongkedoanhthu(int idtourdulich, DateTime tungay, DateTime dennngay) { var doan = db.doanduliches.Where(o => o.idtour == idtourdulich && o.ngaykhoihanh >= tungay.Date && o.ngaykhoihanh <= dennngay.Date); List <chitietdoanhthu> ct = new List <chitietdoanhthu>(); foreach (doandulich d in doan) { chitietdoanhthu c = new chitietdoanhthu(); c.tendoan = d.tendoan; c.tentour = d.tour.tentour; c.gia = (decimal)db.giatours.OrderByDescending(o => o.id).FirstOrDefault(o => o.tungay <= d.ngaykhoihanh && o.denngay >= d.ngaykhoihanh && o.idtour == idtourdulich).gia; c.soluongkhach = db.chitietdoanduliches.Where(o => o.iddoandulich == d.id).Count(); c.tong = c.gia * c.soluongkhach; c.tongchiphi = tkcpb.tongchiphi(d.id); c.doanhthu = c.tong - c.tongchiphi; ct.Add(c); } return(ct); }