// 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); }
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!"); } }
/// <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; } }
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!"); } }
//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()); }
/// <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); }
/// <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); }
//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 ")); //} }
// #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(); }
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; } }