protected IList GetData(out int count) { ICriterion criterion = SailsModule.IncomeCriterion(); if (String.IsNullOrEmpty(Request.QueryString["ps"])) { criterion = Expression.And(criterion, Expression.Eq("DriverCollected", false)); } criterion = Expression.And(criterion, Expression.Or(Expression.Gt("DriverCollect", 0d), Expression.Gt("DriverCollectVND", 0d))); DateTime from; DateTime to; if (string.IsNullOrEmpty(txtFrom.Text) || string.IsNullOrEmpty(txtTo.Text)) { from = DateTime.Today.AddDays(-DateTime.Today.Day + 1); to = from.AddMonths(1).AddDays(-1); } else { from = DateTime.ParseExact(txtFrom.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture); to = DateTime.ParseExact(txtTo.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture); } if (Request.QueryString["mode"] != "all") // Nếu không phải là mode all thì thêm điều kiện về thời gian { txtFrom.Text = from.ToString("dd/MM/yyyy"); txtTo.Text = to.ToString("dd/MM/yyyy"); criterion = Expression.And(criterion, Expression.And(Expression.Ge(Booking.STARTDATE, from), Expression.Le(Booking.STARTDATE, to))); } else { criterion = Expression.And(criterion, Expression.Eq("IsPaid", false)); } if (Request.QueryString["paidon"] != null) { criterion = Expression.And(criterion, Expression.Ge("PaidDate", DateTime.FromOADate(Convert.ToDouble(Request.QueryString["paidon"])))); criterion = Expression.And(criterion, Expression.Lt("PaidDate", DateTime.FromOADate(Convert.ToDouble(Request.QueryString["paidon"])).AddDays(1))); } ICriterion agencyCrit = SetCriterion(GetAgencies()); if (agencyCrit != null) { criterion = Expression.And(criterion, agencyCrit); } if (UserIdentity.HasPermission(AccessLevel.Administrator) || Module.PermissionCheck("VIEW_ALLBOOKINGGUIDECOLLECT", UserIdentity)) { // Nếu có quyền xem hết thì mới để ý đến tham số saleid if (Request.QueryString["saleid"] != null) { int saleid = Convert.ToInt32(Request.QueryString["saleid"]); if (saleid > 0) { criterion = Expression.And(criterion, Expression.Eq("agency.Sale", Module.UserGetById(saleid))); } else { criterion = Expression.And(criterion, Expression.IsNull("agency.Sale")); } } } else { criterion = Expression.And(criterion, Expression.Eq("agency.Sale", UserIdentity)); } if (Request.QueryString["bookingcode"] != null) { string code = Request.QueryString["bookingcode"]; criterion = SailsModule.AddBookingCodeCriterion(criterion, code); } bool tripped = false; if (Request.QueryString["tripid"] != null) { criterion = Expression.And(criterion, Expression.Eq("Trip.Id", Convert.ToInt32(Request.QueryString["tripid"]))); tripped = true; } if (Request.QueryString["orgid"] != null) { criterion = Expression.And(criterion, Expression.Eq("trip.Organization", Module.OrganizationGetById(Convert.ToInt32(Request.QueryString["orgid"])))); tripped = true; } if (Request.QueryString["ps"] != null) { switch (Request.QueryString["ps"]) { case "notpaid": criterion = Expression.And(criterion, Expression.Eq("DriverCollected", false)); break; case "paid": criterion = Expression.And(criterion, Expression.Eq("DriverCollected", true)); break; } } var bookings = Module.BookingGetByCriterion(criterion, Order.Asc(Booking.STARTDATE), out count, 0, 0, tripped, UserIdentity); var bookingFilterList = new List <Booking>(); if (Request.QueryString["drivername"] != null) { foreach (Booking booking in bookings) { var sailDate = Module.ExpenseGetByDate(booking.Trip, booking.StartDate); ExpenseService driver = null; foreach (ExpenseService service in sailDate.Services) { if (service.Type.Name.ToUpper() == "TRANSPORT" && service.Group == booking.Group) { driver = service; if (driver != null && driver.Supplier != null) { if (driver.Name.Contains(Request.QueryString["drivername"])) { bookingFilterList.Add(booking); } } } } } bookings = bookingFilterList; } var bookingDriverFilterList = new List <Booking>(); if (Request.QueryString["supplierid"] != null) { var agencyId = Convert.ToInt32(Request.QueryString["supplierid"]); foreach (Booking booking in bookings) { var sailDate = Module.ExpenseGetByDate(booking.Trip, booking.StartDate); ExpenseService driver = null; foreach (ExpenseService service in sailDate.Services) { if (service.Type.Name.ToUpper() == "TRANSPORT" && service.Group == booking.Group) { driver = service; if (driver != null && driver.Supplier != null) { if (driver.Supplier.Id == agencyId) { bookingDriverFilterList.Add(booking); } } } } } bookings = bookingDriverFilterList; } return(bookings); }
protected IList GetData(out int count, params Order[] orders) { ICriterion criterion = SailsModule.IncomeCriterion(); DateTime from; DateTime to; if (string.IsNullOrEmpty(txtFrom.Text) || string.IsNullOrEmpty(txtTo.Text)) { from = DateTime.Today.AddDays(-DateTime.Today.Day + 1); to = from.AddMonths(1).AddDays(-1); } else { from = DateTime.ParseExact(txtFrom.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture); to = DateTime.ParseExact(txtTo.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture); } //if (Request.QueryString["mode"] != "all") // Nếu không phải là mode all thì thêm điều kiện về thời gian //{ txtFrom.Text = from.ToString("dd/MM/yyyy"); txtTo.Text = to.ToString("dd/MM/yyyy"); criterion = Expression.And(criterion, Expression.And(Expression.Ge(Booking.STARTDATE, from), Expression.Le(Booking.STARTDATE, to))); //} //else //{ //criterion = Expression.And(criterion, Expression.Not(Expression.Eq("ComPaid", true))); ICriterion commissionCriterion = Expression.Or(Expression.Gt("Commission", (double)0), Expression.Gt("CommissionVND", (double)0)); criterion = Expression.And(criterion, commissionCriterion); //} if (Request.QueryString["paidon"] != null) { criterion = Expression.And(criterion, Expression.Ge("PaidDate", DateTime.FromOADate(Convert.ToDouble(Request.QueryString["paidon"])))); criterion = Expression.And(criterion, Expression.Lt("PaidDate", DateTime.FromOADate(Convert.ToDouble(Request.QueryString["paidon"])).AddDays(1))); } ICriterion agencyCrit = SetCriterion(GetAgencies()); if (agencyCrit != null) { criterion = Expression.And(criterion, agencyCrit); } if (UserIdentity.HasPermission(AccessLevel.Administrator) || Module.PermissionCheck("VIEW_ALLBOOKINGRECEIVABLE", UserIdentity)) { // Nếu có quyền xem hết thì mới để ý đến tham số saleid if (Request.QueryString["saleid"] != null) { int saleid = Convert.ToInt32(Request.QueryString["saleid"]); if (saleid > 0) { criterion = Expression.And(criterion, Expression.Eq("agency.Sale", Module.UserGetById(saleid))); } else { criterion = Expression.And(criterion, Expression.IsNull("agency.Sale")); } } } else { criterion = Expression.And(criterion, Expression.Eq("agency.Sale", UserIdentity)); } if (Request.QueryString["bookingcode"] != null) { string code = Request.QueryString["bookingcode"]; criterion = SailsModule.AddBookingCodeCriterion(criterion, code); } Order order = Order.Asc(Booking.STARTDATE); if (orders.Length > 0) { order = orders[0]; } return(Module.BookingGetByCriterion(criterion, order, out count, 0, 0, false, UserIdentity)); }
protected int GetData(out IList list, bool loadService) { Cruise cruise = null; if (Request.QueryString["code"] != null) { ICriterion crit = Expression.Eq("Deleted", false); crit = SailsModule.AddBookingCodeCriterion(crit, Request.QueryString["code"]); var temp = Module.GetObject <Booking>(crit, 2, 0); if (temp.Count > 1) { ShowErrors("Please input booking code correctly"); list = new ArrayList(); return(0); } else if (temp.Count == 0) { ShowErrors("No booking with the code you provided"); list = new ArrayList(); return(0); } else { cruise = temp[0].Cruise; _date = temp[0].StartDate; } } if (cruise == null) { if (Request.QueryString["cruiseid"] != null) { cruise = Module.CruiseGetById(Convert.ToInt32(Request.QueryString["cruiseid"])); } if (string.IsNullOrEmpty(txtDate.Text)) { _date = DateTime.Today; } else { _date = DateTime.ParseExact(txtDate.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture); } } ICriterion criterion = Module.LockCrit(); criterion = Expression.And(criterion, Expression.Not(Expression.Eq("IsTransferred", true))); if (cruise != null) { criterion = Expression.And(criterion, Expression.Eq("Cruise", cruise)); } criterion = Module.AddDateExpression(criterion, _date); int count; list = Module.BookingGetByCriterion(criterion, null, out count, 0, 0); List <Booking> bookings = new List <Booking>(); foreach (Booking booking in list) { bookings.Add(booking); } list = bookings.OrderBy(o => o.Trip.Id).ToList <Booking>(); if (loadService) { LoadService(_date); } return(count); }