private List<Orders_Versions> GetOrdersVersions(CheckingAccountFilter filter) { using (BubisDEntities db = new BubisDEntities()) { var orders = db.Orders_Versions.Include("Orders").Where(v => v.VERS_IsCurrent && v.VERS_IsVerify && v.VERS_Active); if (filter.CLT_Id.HasValue) orders = orders.Where(l => l.CLT_Id == filter.CLT_Id.Value); if (filter.COMP_Id.HasValue) orders = orders.Where(l => l.Orders.Orders_Shipments.Any(ship=>ship.ArticlesByCompanies.COMP_Id == filter.COMP_Id.Value)); if (filter.OrderDate_From.HasValue) orders = orders.Where(l => l.Orders.ORDR_Date >= filter.OrderDate_From.Value); if (filter.OrderDate_To.HasValue) orders = orders.Where(l => l.Orders.ORDR_Date <= filter.OrderDate_To.Value); if (filter.DontShowOrders) { System.DateTime month = System.DateTime.Now.AddMonths(6); var except = orders.Where(l => l.Orders.ORDR_Date >= month && l.Orders.Orders_Versions.FirstOrDefault(v => v.VERS_IsVerify && v.VERS_IsCurrent && v.VERS_Active).ORDR_Balance == 0); orders = orders.Except(except); } return orders.ToList(); } }
public IEnumerable<CheckingAccount_Payment> GetPayments(CheckingAccountFilter filter) { var ov = this.GetPaymentsVersions2(filter); return ov.Select(l => new CheckingAccount_Payment() { PYM_Date = l.PYM_Date, PYM_ConfirmationDate = l.PYM_ConfirmationDate, PYM_Id = l.PYM_Id, PYM_Amount = l.PYM_Amount }); }
public IEnumerable<CheckingAccount_Order> GetOrders(CheckingAccountFilter filter) { var ov = this.GetOrdersVersions(filter); return ov.Select(l => new CheckingAccount_Order() { ORDR_Date = l.Orders.ORDR_Date, ORDR_Code = l.Orders.ORDR_Code, ORDR_Bill = l.ORDR_Bill, //OPI = (l.ORDR_IsShipped.Value) ? l.ORDR_SHIP_QuantityShippedForOPI : l.ORDR_SHIP_QuantityOrderedForOPI, OPE = (l.ORDR_IsShipped.Value) ? l.ORDR_SHIP_QuantityShippedForOPE : l.ORDR_SHIP_QuantityOrderedForOPE, ORDR_Total = l.ORDR_Total }); }
public IEnumerable<CheckingAccount_AppliedPayment> GetAppliedPayments(CheckingAccountFilter filter) { var po = this.GetPaymentsOrders(filter); return po.Select(l => new CheckingAccount_AppliedPayment() { ORDR_Date = l.Orders.ORDR_Date, ORDR_Code = l.Orders.ORDR_Code, ORDR_Total = l.Orders.Orders_Versions.FirstOrDefault(v => v.VERS_IsVerify && v.VERS_IsCurrent && v.VERS_Active).ORDR_Total, PYM_Id = l.PYM_Id, PYM_ORDR_Number = l.PYM_ORDR_Number, PYM_ORDR_Amount = l.PYM_ORDR_Amount, PYM_ORDR_BalanceOrder = l.PYM_ORDR_BalanceOrder }).OrderBy(l=>l.ORDR_Code); }
public List<CheckingAccount> Get(CheckingAccountFilter filter) { IEnumerable<Payments_Versions> payments_versions = this.GetPaymentsVersions(filter); IEnumerable<CheckingAccount> accounts = payments_versions.Select(l => new CheckingAccount() { CLT_Id = l.CLT_Id, CLT_Name = l.Clients.CLT_Name, CLT_Group = l.Clients.Clients_Versions.FirstOrDefault(c => c.VERS_IsVerify && c.VERS_IsCurrent && c.CLT_Active).CLT_Group, COMP_Id = l.COMP_Id, COMP_Name = l.Companies.COMP_Name, COMP_Group = l.Companies.Companies_Versions.FirstOrDefault(c => c.VERS_IsVerify && c.VERS_IsCurrent && c.COMP_Active).COMP_Group } ); return accounts.DistinctBy(p => new { p.CLT_Id, p.COMP_Id }).OrderBy(l => l.CLT_Name).ToList(); }
private List<Payments_Versions> GetPaymentsVersions2(CheckingAccountFilter filter) { using (BubisDEntities db = new BubisDEntities()) { var payments = db.Payments_Versions.Include("Clients.Clients_Versions").Include("Companies.Companies_Versions").Include("Payments.Payments_Orders.Orders.Orders_Versions") .Where(v => v.VERS_IsCurrent && v.VERS_IsVerify && v.VERS_Active); if (filter.CLT_Id.HasValue) payments = payments.Where(l => l.CLT_Id == filter.CLT_Id.Value); if (filter.COMP_Id.HasValue) payments = payments.Where(l => l.COMP_Id == filter.COMP_Id.Value); if (filter.PaymentDate_From.HasValue) payments = payments.Where(l => l.PYM_Date >= filter.PaymentDate_From.Value); if (filter.PaymentDate_To.HasValue) payments = payments.Where(l => l.PYM_Date <= filter.PaymentDate_To.Value); if (filter.DontShowPayments) { System.DateTime month = System.DateTime.Now.AddMonths(6); var except = payments.Where(l => l.PYM_BalanceApplied == 0 && l.Payments.Payments_Orders.Any(po => po.Orders.ORDR_Date >= month && po.Orders.Orders_Versions.FirstOrDefault(v => v.VERS_IsVerify && v.VERS_IsCurrent && v.VERS_Active).ORDR_Balance == 0)); payments = payments.Except(except); } return payments.ToList(); } }
private List<Payments_Orders> GetPaymentsOrders(CheckingAccountFilter filter) { IEnumerable<Payments_Versions> payments_versions = this.GetPaymentsVersions(filter); List<Payments_Orders> payments_orders = new List<Payments_Orders>(); foreach (Payments_Versions item in payments_versions) payments_orders.AddRange(item.Payments.Payments_Orders); return payments_orders; }