コード例 #1
0
        public bool UpdateModel()
        {
            if (App.VM.user == null)
            {
                UIPage.DisplayAlert("Attenzione", "E' necessario loggarsi", "Ok"); return(false);
            }

            if (IsNew)
            {
                ObjEvent = new GoogleEvent {
                    ID = ""
                };
                ObjInternalEvent = new Event
                {
                    Guid = Guid.NewGuid(),
                    data = new Event.PersonalizedData
                    {
                        RelatedOwnerGuid = App.VM.user.Guid,
                        State            = Event.PersonalizedData.EventStateEnum.Inserted
                    }
                };
            }

            ObjEvent.Name = Title;
            //Img = ObjEvent.ImageUris?.FirstOrDefault() ?? Globals.DefaultThumb;
            ObjEvent.Description        = Description;
            ObjEvent.StartDate          = StartDate.SetTime(StartTime);
            ObjEvent.EndDate            = EndDate.SetTime(EndTime);
            ObjEvent.InternalEventGuid  = ObjInternalEvent.Guid;
            ObjEvent.OwnerName          = App.VM.user?.data?.Nome ?? "ND" + " " + App.VM.user?.data?.Cognome ?? "ND" + " - " + App.VM.user?.data?.Email ?? "ND";
            ObjInternalEvent.data.State = Event.PersonalizedData.EventStateEnum.Pending;

            if (
                ObjEvent.EndDate < ObjEvent.StartDate
                ||
                ObjEvent.StartDate < DateTime.Now
                )
            {
                UIPage.DisplayAlert("Attenzione", "Errore nella data", "Ok"); return(false);
            }
            var dataInizio_ = ObjEvent.StartDate.TimeOfDay; var dataFine = ObjEvent.EndDate.TimeOfDay;

            if (
                (dataInizio_.Hours >= 8 && (dataInizio_.Hours < 19 && dataInizio_.Minutes <= 30))
                &&
                (dataFine.Hours >= 8 && (dataFine.Hours < 20))
                )
            {
            }
            else
            {
                UIPage.DisplayAlert("Attenzione", "Il LOFT è chiuso", "Ok"); return(false);
            }
            if ((ObjEvent.EndDate - ObjEvent.StartDate) < Globals.DurataMinimaEvento)
            {
                UIPage.DisplayAlert("Attenzione", "Prenotazione minima " + Globals.DurataMinimaEvento.Minutes + " minuti", "Ok"); return(false);
            }
            if (
                ObjEvent.StartDate.DayOfWeek == DayOfWeek.Saturday || ObjEvent.StartDate.DayOfWeek == DayOfWeek.Sunday
                ||
                ObjEvent.EndDate.DayOfWeek == DayOfWeek.Saturday || ObjEvent.EndDate.DayOfWeek == DayOfWeek.Sunday
                )
            {
                UIPage.DisplayAlert("Attenzione", "Non è possibile prenotare eventi nel weekend", "Ok"); return(false);
            }
            return(true);
        }