public NewAppointmentPage(WorkScheduleItem workScheduleItem)
        {
            this.WorkItem = workScheduleItem;

            this.BindingContext = WorkItem;
            InitializeComponent();
        }
Ejemplo n.º 2
0
        private void Schedule_AppointmentDrop(object sender, AppointmentDropEventArgs e)
        {
            var end               = e.DropTime;
            var start             = (e.Appointment as WorkScheduleItem).From;
            WorkScheduleItem item = e.Appointment as WorkScheduleItem;

            item.From = e.DropTime;
            item.To   = item.From.AddHours(2);
            ViewModel.OffsetAllWorkScheduleItems(item);

            TimeSpan ts = end.Subtract(start);


            /* foreach(WorkScheduleItem wi in WorkItems)
             * {
             *   wi.From = wi.From.Add(ts);
             *   wi.To = wi.To.Add(ts);
             * }
             *
             * WorkScheduleItem[] items = new WorkScheduleItem[WorkItems.Count];
             * WorkItems.CopyTo(items, 0);
             * WorkItems.Clear();
             *
             * foreach(WorkScheduleItem wi in items)
             * {
             *   WorkItems.Add(wi);
             * }
             * this.schedule.DataSource = WorkItems; */

            // if (schedule.WorkWeekViewSettings.NonAccessibleBlocks[0].StartTime == e.DropTime.Hour ||
            //    (schedule.WorkWeekViewSettings.NonAccessibleBlocks[0].StartTime - 1 == e.DropTime.Hour && e.DropTime.Minute > 0))
        }
Ejemplo n.º 3
0
        public MainPage(Department filterDepartment = null)
        {
            PageLoaded = false;

            InitializeComponent();

            FilterDepartment = filterDepartment;

            // WorkScheduleItems = items;


            AppointmentCollection = new ScheduleAppointmentCollection();

            schedule.AllowAppointmentDrag = true;

            schedule.CellTapped += Schedule_CellTapped;

            schedule.CellDoubleTapped += Schedule_CellDoubleTapped;

            schedule.AppointmentDragStarting += Schedule_AppointmentDragStarting;

            schedule.AppointmentDrop += Schedule_AppointmentDrop;

            WeekViewSettings weekViewSeetings = new WeekViewSettings();

            weekViewSeetings.ShowAllDay = true;
            weekViewSeetings.AllDayAppointmentLayoutColor = Color.Beige;
            schedule.WeekViewSettings = weekViewSeetings;

            //NonAccessibleBlock block = new NonAccessibleBlock();
            //block.StartTime = item.From.Hour;
            //block.EndTime = item.To.Hour;
            //SelectedColor = Color.Red;

            displayTypePicker.Items.Add("Month View");
            displayTypePicker.Items.Add("Week View");
            displayTypePicker.SelectedIndexChanged += DisplayTypePicker_SelectedIndexChanged;
            displayTypePicker.SelectedIndex         = 0;

            MessagingCenter.Subscribe <NewAppointmentPage, WorkScheduleItem>(this, "Done", (sender, arg) =>
            {
                WorkScheduleItem workitem = arg as WorkScheduleItem;

                /*var wi = this.WorkItems.SingleOrDefault(w => w.Id == workitem.Id);
                 * if ( wi != null)
                 *  this.WorkItems.Remove(wi);
                 * this.WorkItems.Add(workitem);
                 * this.schedule.DataSource = WorkItems;*/
                // this.InvalidateMeasure();
            });
            //schedule.WorkWeekViewSettings.NonAccessibleBlocks.Add(block);
        }
Ejemplo n.º 4
0
        public async Task <bool> SaveWorkScheduleAsync(WorkScheduleItem item)
        {
            try
            {
                await BlobCache.UserAccount.InsertObject("SelectedWorkSchedule", item);

                return(true);
            }
            catch (System.Exception ex)
            {
                return(false);
            }
        }
 public NewAppointmentPage(DateTime dateTime, Color color)
 {
     WorkItem = new WorkScheduleItem
     {
         Id       = Guid.NewGuid(),
         From     = dateTime,
         To       = dateTime,
         FromTime = new TimeSpan(8, 0, 0),
         ToTime   = new TimeSpan(17, 0, 0),
         Color    = color
     };
     this.BindingContext = WorkItem;
     InitializeComponent();
 }
Ejemplo n.º 6
0
        public void OffsetAllWorkScheduleItems(WorkScheduleItem changedItem)
        {
            TimeSpan ts = changedItem.From - changedItem.OriginalStartDate;

            Enums.Enumerations.Department dept = (Enums.Enumerations.Department)Enum.Parse(typeof(Enums.Enumerations.Department), changedItem.Department.DepartmentName);
            var siblings = TempDragItems.Where(
                tdi => tdi.JobScheduleId == changedItem.JobScheduleId &&
                ((Enums.Enumerations.Department)Enum.Parse(typeof(Enums.Enumerations.Department), tdi.Department.DepartmentName)) > dept);

            siblings?.ForEach(wi =>
            {
                if (wi != changedItem)
                {
                    wi.From += ts;
                }
            });
        }
Ejemplo n.º 7
0
 public void ResetWorkItemTimesForMonthView()
 {
     WorkItems.Clear();
     TempDragItems.ForEach(wi =>
     {
         WorkScheduleItem temp = new WorkScheduleItem
         {
             Id                 = wi.Id,
             Color              = wi.Color,
             Department         = wi.Department,
             From               = wi.From,
             To                 = wi.From + (wi.OriginalEndDate - wi.OriginalStartDate),
             ItemName           = wi.ItemName,
             FromTime           = wi.FromTime,
             ToTime             = wi.ToTime,
             Description        = wi.Description,
             IsAllDay           = wi.IsAllDay,
             EstimatedBoardFeet = wi.EstimatedBoardFeet
         };
         WorkItems.Add(temp);
     });
 }
Ejemplo n.º 8
0
 public void SetEndTimesForWeekView()
 {
     TempDragItems.Clear();
     WorkItems.ForEach(wi =>
     {
         WorkScheduleItem temp = new WorkScheduleItem
         {
             Id                 = wi.Id,
             Color              = wi.Color,
             Department         = wi.Department,
             From               = wi.From,
             To                 = wi.From.AddHours(2),
             ItemName           = wi.ItemName,
             FromTime           = wi.FromTime,
             ToTime             = wi.ToTime,
             Description        = wi.Description,
             IsAllDay           = wi.IsAllDay,
             OriginalStartDate  = wi.From,
             OriginalEndDate    = wi.To,
             EstimatedBoardFeet = wi.EstimatedBoardFeet
         };
         TempDragItems.Add(temp);
     });
 }
Ejemplo n.º 9
0
        public WorkScheduleItem CreateScheduleItem(Double hours, Enumerations.Department department)
        {
            Double days = hours / 10;

            if (days < 1)
            {
                days = 1;
            }

            WorkScheduleItem item = new WorkScheduleItem()
            {
                Id = Guid.NewGuid(), JobScheduleId = JobSchedule.Id
            };

            item.Department = new Department(Guid.NewGuid())
            {
                DepartmentName = department.ToString()
            };
            item.Description        = $"{CurrentJobItem.JobName} - {item.Department.DepartmentName}";
            item.FromTime           = TimeSpan.FromHours(7);
            item.ToTime             = TimeSpan.FromHours(18);
            item.ItemName           = CurrentJobItem.JobName;
            item.Assignee           = null;
            item.EstimatedBoardFeet = (int)CurrentJobItem.FloorSquareFeet;

            switch (department)
            {
            case Enumerations.Department.Design:
            {
                item.Color = Color.Green;
                item.From  = DateTime.Now;
                item.To    = item.From + TimeSpan.FromDays(days);
                return(item);
            }

            case Enumerations.Department.Production:
            {
                item.Color = Color.Blue;
                item.From  = JobSchedule.DesignItem.To;
                item.To    = item.From + TimeSpan.FromDays(days);
                return(item);
            }

            case Enumerations.Department.Transportation:
            {
                item.Color = Color.Orange;
                item.From  = JobSchedule.ProductionItem.To;
                item.To    = item.From + TimeSpan.FromDays(days);
                return(item);
            }

            case Enumerations.Department.FinalReview:
            {
                item.Color = Color.Red;
                item.From  = JobSchedule.TransportationItem.To;
                item.To    = item.From + TimeSpan.FromDays(days);
                return(item);
            }

            case Enumerations.Department.ProjectManagement:
            {
                item.Color = Color.Purple;
                item.From  = JobSchedule.DesignItem.From;
                item.To    = item.From + TimeSpan.FromDays(days);
                return(item);
            }

            default: return(null);
            }
        }
Ejemplo n.º 10
0
 public async Task <bool> SaveSelectedWorkItemAsync(WorkScheduleItem item)
 {
     return(await _cacheService.SaveWorkScheduleAsync(item));
 }
Ejemplo n.º 11
0
 public void Put(int id, [FromBody] WorkScheduleItem workSChedule)
 {
 }