예제 #1
0
파일: Dal.cs 프로젝트: geshtop/5780_final1
        public List <BE.HostingUnit> GetHostingUnits(Func <BE.HostingUnit, bool> predicate = null)
        {
            List <BE.HostingUnit> list = null;

            if (predicate != null)
            {
                list = HostingUnitsList.Where(predicate).ToList();
            }
            else
            {
                list = HostingUnitsList;
            }

            for (int i = 0; i < list.Count(); i++)
            {
                list[i].Images = GalleryList.Where(c => c.HostingUnitId == list[i].stSerialKey).ToList();
            }

            for (int i = 0; i < list.Count(); i++)
            {
                list[i].Days = DaysList.Where(c => c.HostingUnitId == list[i].stSerialKey).ToList();
            }

            return(list);
        }
예제 #2
0
파일: Dal.cs 프로젝트: geshtop/5780_final1
        public HostingUnit GetHostingUnitById(int stSerialKey)
        {
            var hosting = HostingUnitsList.FirstOrDefault(c => c.stSerialKey == stSerialKey);

            if (hosting != null)
            {
                hosting.Images = GalleryList.Where(c => c.HostingUnitId == hosting.stSerialKey).ToList();
            }
            return(hosting);
        }
예제 #3
0
파일: Dal.cs 프로젝트: geshtop/5780_final1
        public void UpdatingOrder(Order order, Enums.OrderStatus status)
        {
            int index = OrderList.FindIndex(c => c.OrderKey == order.OrderKey);

            if (index > -1)
            {
                OrderList[index].Status = status;

                if (status == Enums.OrderStatus.Success)
                {
                    //עדכון של שאר ההזמנות
                    var orders = OrderList.FindAll(c => c.GuestRequestKey == order.GuestRequestKey);
                    foreach (var orderi in orders)
                    {
                        orderi.Status = Enums.OrderStatus.Closed;
                    }

                    //עדכון הימים באכסניה

                    int         hostingid       = HostingUnitsList.FindIndex(c => c.stSerialKey == order.HostingUnitKey);
                    var         request         = GuestRequestList.Where(c => c.GuestRequestsKey == order.GuestRequestKey).FirstOrDefault();
                    HostingUnit relatedHostings = GetHostingUnits(c => c.stSerialKey == order.HostingUnitKey).FirstOrDefault();
                    Host        relatedHost     = GetHostById(relatedHostings.OwnerId);
                    var         settings        = GetGlobalSettings();
                    if (hostingid > -1 && request != null && relatedHost != null && settings != null)
                    {
                        // Diary diary = HostingUnitsList[hostingid].DiaryState;
                        for (DateTime time = request.EntryDate.AddDays(1); time < request.ReleaseDate; time = time.AddDays(1))
                        {
                            DaysList.Add(new FullDays()
                            {
                                Date          = time.Date,
                                HostingUnitId = order.HostingUnitKey,
                                OrderId       = order.OrderKey,
                                Id            = Configuration.DaysIdentity + 1
                            });
                            Configuration.DaysIdentity++;
                            relatedHost.Discount += settings.PayForDay;
                            relatedHostings.Totaldays++;


                            //diary.Calender[time.Month - 1, time.Day - 1] = true;
                        }
                        // HostingUnitsList[key].DiaryState = diary;
                    }
                    OrderList[index].Status = Enums.OrderStatus.Success; //אני לא יודעת אם סטטוס ההזמנה המקורית השנה אף הוא
                }
                UpdateXml <Order>(OrderList);
                UpdateXml <FullDays>(DaysList);
                UpdateXml <Host>(HostsList);
            }
        }
예제 #4
0
파일: Dal.cs 프로젝트: geshtop/5780_final1
        public void DeleteHostingUnit(int hostingUnitId)
        {
            int index = HostingUnitsList.FindIndex(c => c.stSerialKey == hostingUnitId);

            if (index > -1)
            {
                HostingUnitsList.RemoveAt(index);
                //delete Prev items
                GalleryList.RemoveAll(c => c.HostingUnitId == hostingUnitId);
            }
            UpdateXml <HostingUnit>(HostingUnitsList);
            UpdateXml <GalleryImageItem>(GalleryList);
        }
예제 #5
0
파일: Dal.cs 프로젝트: geshtop/5780_final1
 public void AddHostingUnit(BE.HostingUnit hostingUnit)
 {
     hostingUnit.stSerialKey = Configuration.HostingUnitKey;
     Configuration.HostingUnitKey++;
     HostingUnitsList.Add(hostingUnit);
     //save images
     for (int i = 0; i < hostingUnit.TempImages.Count(); i++)
     {
         int key = Configuration.ImageIdentity;
         Configuration.ImageIdentity++;
         GalleryImageItem ii = new GalleryImageItem()
         {
             HostingUnitId = hostingUnit.stSerialKey,
             Id            = key,
             Url           = hostingUnit.TempImages[i].Url
         };
         GalleryList.Add(ii);
     }
     UpdateXml <HostingUnit>(HostingUnitsList);
     UpdateXml <GalleryImageItem>(GalleryList);
 }