Esempio n. 1
0
        // updateOrder function   add update Order  to Xml data
        public void updateGuestRequest(BE.GuestRequest guest)
        {
            guest = guest.Clone();
            XElement oldGuest = (from guestXml in GuestRoot.Elements()
                                 where guestXml.Element("GuestRequestKey").Value == guest.GuestRequestKey.ToString()
                                 select guestXml).FirstOrDefault();

            oldGuest.Element("GuestRequestKey").Value      = guest.GuestRequestKey.ToString();
            oldGuest.Element("PrivateName").Value          = guest.PrivateName.ToString();
            oldGuest.Element("FamilyName").Value           = guest.FamilyName.ToString();
            oldGuest.Element("Status").Value               = guest.Status.ToString();
            oldGuest.Element("RegistrationDate").Value     = guest.RegistrationDate.ToString();
            oldGuest.Element("EntryDate").Value            = guest.EntryDate.ToString();
            oldGuest.Element("ReleaseDate").Value          = guest.ReleaseDate.ToString();
            oldGuest.Element("Area").Value                 = guest.Area.ToString();
            oldGuest.Element("Type").Value                 = guest.Type.ToString();
            oldGuest.Element("Pool").Value                 = guest.Pool.ToString();
            oldGuest.Element("Jacuzzi").Value              = guest.Jacuzzi.ToString();
            oldGuest.Element("Garden").Value               = guest.Garden.ToString();
            oldGuest.Element("ChildrensAttractions").Value = guest.ChildrensAttractions.ToString();
            oldGuest.Element("Adults").Value               = guest.Adults.ToString();
            oldGuest.Element("Children").Value             = guest.Children.ToString();
            oldGuest.Element("MailAddress").Value          = guest.MailAddress.ToString();

            GuestRoot.Save(BE.Tools.GuestPath);
        }
Esempio n. 2
0
 public void UpdateGuestRequest(BE.GuestRequest gRequest, BE.Enums.Status newStat)
 {
     if (!IsGuestRequestClose(gRequest))
     {
         _dal.UpdateGuestRequest(gRequest.Clone(), newStat);
     }
     else
     {
         throw new ArgumentOutOfRangeException("can't change close Guest Request!");
     }
 }
Esempio n. 3
0
 /// <summary>
 /// updates a guest's last name
 /// </summary>
 /// <param name="guest"></param>
 /// <param name="newName"></param>
 public void UpdateGuestFamilyName(BE.GuestRequest guest, string newName)
 {
     try
     {
         guest.FamilyName = newName;
         UpdateGuestRequest(guest.Clone());
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Esempio n. 4
0
 public void AddGuestRequest(BE.GuestRequest gRequest)
 {
     if (InCalendar(gRequest.RegistrationDate) && InCalendar(gRequest.EntryDate) && InCalendar(gRequest.ReleaseDate) &&
         Ischronological(gRequest.EntryDate, gRequest.ReleaseDate))
     {
         // TODO:  check email
         _dal.AddGuestRequest(gRequest.Clone());
     }
     else
     {
         throw new ArgumentException("dates are not in this year / not chronological! try again!");
     }
 }
Esempio n. 5
0
        //public static List<BE.GuestRequest> GuestRequestList1 = new List<BE.GuestRequest>();

        //public static List<BE.HostingUnit> HostingUnitList1 = new List<BE.HostingUnit>();

        //public static List<BE.Order> OrderList1 = new List<BE.Order>();

        #region GuestRequest
        //#endregion

        public void addGuestRequest(BE.GuestRequest guest)
        {
            guest.GuestRequestKey = BE.Configuration.geustReqID++;
            foreach (BE.GuestRequest element in ds.getGuestRequestList()) // צריך לבדוק שהלולאות האלה באמת עובדות
            {
                if (element.isEqual(guest))
                {
                    throw new DuplicateWaitObjectException((/* "ישנו מספר זהה של דרישת אירוח"*/ "Cannot add.duplicate GuestRequest key on data "));
                }
            }

            ds.getGuestRequestList().Add(guest.Clone());
        }
Esempio n. 6
0
        /// <summary>
        /// Add guestrequest
        /// </summary>
        /// <param name="guestRequest"></param>
        public void addGuestRequest(BE.GuestRequest guestRequest)
        {
            if (!GuestRequestExist(guestRequest.guestRequestKey))
            {
                DataSource.guestRequests.Add(guestRequest.Clone());
            }

            else
            {
                throw new KeyNotFoundException("la requete existe deja");
            }

            SaveToXML <List <GuestRequest> >(DataSource.guestRequests, guestPath);
        }
Esempio n. 7
0
 /// <summary>
 /// Update guest request
 /// </summary>
 /// <param name="updateGuestRequest"></param>
 public void updateGuestRequest(BE.GuestRequest updateGuestRequest)
 {
     if (GuestRequestExist(updateGuestRequest.guestRequestKey))
     {
         var result = (from GuestRequest in DataSource.guestRequests
                       where GuestRequest.guestRequestKey == updateGuestRequest.guestRequestKey
                       select GuestRequest).First();
         DataSource.guestRequests.Remove(result);
         DataSource.guestRequests.Add(updateGuestRequest.Clone());
     }
     else
     {
         throw new KeyNotFoundException("la requete n existe pas");
     }
     SaveToXML <List <GuestRequest> >(DataSource.guestRequests, guestPath);
 }
Esempio n. 8
0
        //public static List<BE.GuestRequest> GuestRequestList1 = new List<BE.GuestRequest>();

        //public static List<BE.HostingUnit> HostingUnitList1 = new List<BE.HostingUnit>();

        //public static List<BE.Order> OrderList1 = new List<BE.Order>();

        #region GuestRequest
        //#endregion

        public void addGuestRequest(BE.GuestRequest guest)
        {
            bool exists = ds.getGuestRequestList().Any(x => x.GuestRequestKey == guest.GuestRequestKey);

            if (exists)
            {
                throw new DuplicateWaitObjectException((/* "ישנו מספר זהה של דרישת אירוח"*/ "Cannot add.duplicate GuestRequest key on data "));
            }
            if (guest.GuestRequestKey == 0)
            {
                guest.GuestRequestKey = BE.Configuration.geustReqID++;
            }

            ds.getGuestRequestList().Add(guest.Clone());

            //foreach (BE.GuestRequest element in ds.getGuestRequestList())
            //{
            //    if (element.isEqual(guest))
            //        throw new DuplicateWaitObjectException((/* "ישנו מספר זהה של דרישת אירוח"*/"Cannot add.duplicate GuestRequest key on data "));
            //}
        }
Esempio n. 9
0
        //   #endregion
        public void addGuestRequest(BE.GuestRequest guest)
        {
            //אם לא הושלם מילוי
            if (guest.PrivateName == "" || guest.FamilyName == "" || guest.MailAddress == null || guest.EntryDate == null || guest.ReleaseDate == null)
            {
                throw new ArgumentException("חובה למלא את כל השדות");
            }
            if (!checkRequestDates(guest))// if the dates are not legal
            {
                throw new ArgumentException("Dates are not legal!");
            }

            ///throw new System.ArgumentException(string.Format("worng input {0} not llegal ", generalDate));


            if (guest.Adults < 0)
            {
                throw new System.ArgumentException(/*מספר מבוגרים אינו יכול להיות שלילי"*/ "Number of adults cannot be negative");
            }
            if (guest.Adults == 0)
            {
                throw new System.ArgumentException(/*מספר מבוגרים אינוי יכול להיות 0"*/ "Number of adults cannot be 0");
            }
            if (guest.Type == BE.TypeEnum.Unknown)
            {
                throw new System.ArgumentException(/*חובה לבחור סוג יחידת יחידת אירוח"*/ "Select unit type of hosting unit is required");
            }

            //AttractionsEnum // Unknown,הכרחי, אפשרי, לא_מעוניין
            if (guest.Pool == BE.AttractionsEnum.Unknown)
            {
                throw new System.ArgumentException(/*חובה לבחור האם מעוניין בבריכה"*/ "Must choose whether you want a pool");
            }
            if (guest.Jacuzzi == BE.AttractionsEnum.Unknown)
            {
                throw new System.ArgumentException(/*חובה לבחור האם מעוניין בג'קוזי"*/ "Must choose whether you want a jacuzzi");
            }
            if (guest.Garden == BE.AttractionsEnum.Unknown)
            {
                throw new System.ArgumentException(/*חובה לבחור האם מעוניין בגינה"*/ "Must choose whether you want a garden");
            }
            if ((guest.ChildrensAttractions == BE.AttractionsEnum.Unknown) && (guest.Children > 0))
            {
                throw new System.ArgumentException(/*חובה לבחור האם מעוניין באטראקציות לילדים"*/ "Must choose whether you want a Childrens Attractions");
            }


            if (!(checkDateLegallOneYear(guest.EntryDate))) //אם התאריכים חורגים מהטווח של חודש אחורה ו11 חודש קדימה
            {
                throw new System.ArgumentException(string.Format("worng input {0} not in the span of dates ", guest.EntryDate));
            }
            if (!(checkDateLegallOneYear(guest.ReleaseDate)))
            {
                throw new System.ArgumentException(string.Format("worng input {0} not in the span of dates ", guest.ReleaseDate));
            }



            //מילוי ערכים שגויים
            DateTime theDateToday = new DateTime();

            theDateToday = DateTime.Now;
            theDateToday = new DateTime(theDateToday.Year, theDateToday.Month, theDateToday.Day); //איפוס שעון ל00:00:00
            if (guest.EntryDate < theDateToday)
            {
                throw new System.ArgumentException(/*תאריך כניסה אינו יכול להיות  מוקדם מעכשיו"*/ "EntryDate cannot be earlier from now ");
            }

            if (guest.ReleaseDate < theDateToday.AddDays(1))
            {
                throw new System.ArgumentException(/*תאריך יציאה אינו יכול להיות  מוקדם מעוד יום"*/ "ReleaseDate cannot be earlier from tomorrow ");
            }

            if (guest.Status != BE.StatusGREnum.פתוחה)
            {
                throw new System.ArgumentException(/* "סטטוס דרישת לקוח שגוי.סטטוס דרישה חדשה יהיה תמיד פתוח"*/ "Incorrect GuestRequest status. New GuestRequest status will always be open ");
            }


            // after we cheek all the possible problems we can transfer the data to DAL layer

            guest.RegistrationDate = DateTime.Now;
            try
            {
                IDAL.addGuestRequest(guest.Clone());
            }
            catch (DuplicateWaitObjectException e)
            {
                throw e;
            }


            //throw new NotImplementedException();
        }
Esempio n. 10
0
        public void updateGuestRequest(BE.GuestRequest guest) //בהנחה שמעדכנים אך ורק סטטוס הזמנה
        {
            BE.GuestRequest oldGuest = getGuestRequestByID(guest.GuestRequestKey);
            if (oldGuest == null)
            {
                throw new System.ArgumentException(string.Format("The GuestRequest with {0} key now exists", guest.GuestRequestKey));
            }



            // כל זה במידה ונרצה לעדכן הכל... אבל לא ממש רלוונטי לתוכנה
            /// בהנחה שבממשק משתמש קיבלנו את מספר ההזמנה והראנו שקיים ולאחר מכן בוצע עדכון שדות
            ///
            ////            //אם לא הושלם מילוי
            ////if (guest.PrivateName == "" || guest.FamilyName == "" || guest.MailAddress == null || guest.EntryDate == null || guest.ReleaseDate == null)
            ////    throw new Exception("חובה למלא את כל השדות");
            ////if (!checkRequestDates(guest))// if the dates are not legal
            ////    throw new System.ArgumentException("Dates are not legal!");

            ///////throw new System.ArgumentException(string.Format("worng input {0} not llegal ", generalDate));


            ////if (guest.Adults < 0)
            ////    throw new System.ArgumentException(/*מספר מבוגרים אינו יכול להיות שלילי"*/"Number of adults cannot be negative");
            ////if (guest.Adults == 0)
            ////    throw new System.ArgumentException(/*מספר מבוגרים אינוי יכול להיות 0"*/"Number of adults cannot be 0");
            ////if (guest.Type == BE.TypeEnum.Unknown)
            ////    throw new System.ArgumentException(/*חובה לבחור סוג יחידת יחידת אירוח"*/"Select unit type of hosting unit is required");

            //////AttractionsEnum // Unknown,הכרחי, אפשרי, לא_מעוניין
            ////if (guest.Pool == BE.AttractionsEnum.Unknown)
            ////    throw new System.ArgumentException(/*חובה לבחור האם מעוניין בבריכה"*/"Must choose whether you want a pool");
            ////if (guest.Jacuzzi == BE.AttractionsEnum.Unknown)
            ////    throw new System.ArgumentException(/*חובה לבחור האם מעוניין בג'קוזי"*/"Must choose whether you want a jacuzzi");
            ////if (guest.Garden == BE.AttractionsEnum.Unknown)
            ////    throw new System.ArgumentException(/*חובה לבחור האם מעוניין בגינה"*/"Must choose whether you want a garden");
            ////if ((guest.ChildrensAttractions == BE.AttractionsEnum.Unknown) && (guest.Children > 0))
            ////    throw new System.ArgumentException(/*חובה לבחור האם מעוניין באטראקציות לילדים"*/"Must choose whether you want a Childrens Attractions");

            ////if (checkDateLegallOneYear(guest.EntryDate)) //אם התאריכים חורגים מהטווח של חודש אחורה ו11 חודש קדימה
            ////{
            ////    throw new System.ArgumentException(string.Format("worng input {0} not in the span of dates ", guest.EntryDate));

            ////}
            ////if (checkDateLegallOneYear(guest.ReleaseDate))
            ////{
            ////    throw new System.ArgumentException(string.Format("worng input {0} not in the span of dates ", guest.ReleaseDate));
            ////}



            //////מילוי ערכים שגויים
            ////DateTime theDateToday = new DateTime();
            ////theDateToday = DateTime.Now;
            ////theDateToday = new DateTime(theDateToday.Year, theDateToday.Month, theDateToday.Day); //איפוס שעון ל00:00:00
            ////if (guest.EntryDate < theDateToday)
            ////    throw new System.ArgumentException(/*תאריך כניסה אינו יכול להיות  מוקדם מעכשיו"*/"EntryDate cannot be earlier from now ");

            ////if (guest.ReleaseDate < theDateToday.AddDays(1))
            ////    throw new System.ArgumentException(/*תאריך יציאה אינו יכול להיות  מוקדם מעוד יום"*/"ReleaseDate cannot be earlier from tomorrow ");

            if (!(oldGuest.Status == BE.StatusGREnum.פתוחה))
            {
                throw new ArgumentException(string.Format("לא ניתן לשנות דרישת לקוח שאינה פתוחה"));
            }

            try
            {
                IDAL.updateGuestRequest(guest.Clone());
            }
            catch (KeyNotFoundException e)
            {
                throw e;
            }
        }