예제 #1
0
 public OrderViewModel(IOrderInterface orderDb, int id)
     : base(ControllersEnum.OrdersActive)
 {
     this.Order = orderDb.OrderFullDetail(id);
 }
예제 #2
0
        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);
            }
        }