public OrderViewModel(IOrderInterface orderDb, int id) : base(ControllersEnum.OrdersActive) { this.Order = orderDb.OrderFullDetail(id); }
public OrderFullDetail OrderFullDetail(int id) { try { OrderFullDetail details = null; using (HorecaMebelEntities db = new HorecaMebelEntities()) { var order = db.Orders.Where(x => x.id == id).FirstOrDefault(); var armchairsInOrder = db.ArmchairsInOrders.Where(x => x.orderId == id).ToList(); var cubeSeatInOrder = db.CubeSeatInOrders.Where(x => x.orderId == id).ToList(); var chairInOrder = db.ChairsInOrders.Where(x => x.orderId == id).ToList(); var sofaInOrder = db.SofasInOrders.Where(x => x.orderId == id).ToList(); List <ArmchairInBasket> armcsInBasketList = new List <ArmchairInBasket>(); List <SofaInBasket> sofasInBasket = new List <SofaInBasket>(); List <CubeSeatInBasket> cubeSeatsInBasket = new List <CubeSeatInBasket>(); List <ChairInBasket> chairsInBasket = new List <ChairInBasket>(); foreach (ArmchairsInOrder armchairFullDetails in armchairsInOrder) { ArmchairInBasket armInBasket = new ArmchairInBasket(); armInBasket.Armchair = db.Armchairs.Where(x => x.id == armchairFullDetails.armcharId).FirstOrDefault(); armInBasket.Skin = armchairFullDetails.skin; armInBasket.Count = armchairFullDetails.count; armcsInBasketList.Add(armInBasket); } foreach (SofasInOrder sofasFullDetails in sofaInOrder) { SofaInBasket sofaInBasket = new SofaInBasket(); sofaInBasket.Sofa = db.Sofas.Where(x => x.id == sofasFullDetails.id).FirstOrDefault(); sofaInBasket.Skin = sofasFullDetails.skin; sofaInBasket.Count = sofasFullDetails.count; sofasInBasket.Add(sofaInBasket); } foreach (CubeSeatInOrder cubeSeatFullDetails in cubeSeatInOrder) { CubeSeatInBasket cubeSeatInBasket = new CubeSeatInBasket(); cubeSeatInBasket.CubeSeat = db.CubeSeats.Where(x => x.id == cubeSeatFullDetails.id).FirstOrDefault(); cubeSeatInBasket.Skin = cubeSeatInBasket.Skin; cubeSeatInBasket.Count = cubeSeatFullDetails.count; cubeSeatsInBasket.Add(cubeSeatInBasket); } foreach (ChairsInOrder chairFullDetails in chairInOrder) { ChairInBasket chairInBasket = new ChairInBasket(); chairInBasket.Chair = db.Chairs.Where(x => x.id == chairFullDetails.chairId).FirstOrDefault(); chairInBasket.Count = chairFullDetails.count; chairInBasket.WoodColour = chairFullDetails.woodColour; if (!string.IsNullOrEmpty(chairFullDetails.skin)) { chairInBasket.Colour = chairFullDetails.skin; } chairsInBasket.Add(chairInBasket); } details = new OrderFullDetail(order.Title, order.FirstName, order.LastName, order.Address, order.City, order.PostCode, order.Country, order.Company, order.VAT, order.Phone, order.Email, order.Comment, new Guid(order.order_Guid), order.FurniturePrice.HasValue ? order.FurniturePrice.Value : 0, order.TransportPrice.HasValue ? order.TransportPrice.Value : 0, order.DDSPrice.HasValue ? order.DDSPrice.Value: 0, order.FullPrice.HasValue ? order.FullPrice.Value : 0, armcsInBasketList, chairsInBasket, cubeSeatsInBasket, sofasInBasket, order.OrderDateTime.HasValue ? order.OrderDateTime.Value : DateTime.Now); } return(details); } catch (Exception ex) { return(null); } }