Esempio n. 1
0
        private void UpdateNonAvailability(string userID, BusinessObjects.WorkManagement.EngineerNonAvailability nonAvailability, bool removeNonAvailability)
        {
            BusinessObjects.WorkManagement.EngineerNonAvailabilityCollection nonAvailabilities = null;
            DateTime lastKnownUpdatedDate = DateTime.MinValue;
            int appointmentIndex = -1;
            int nonAvailabilityID = 0;

            nonAvailabilities = BusinessObjects.WorkManagement.EngineerNonAvailabilityCollection.FindByUser(userID, ref lastKnownUpdatedDate);
            if (nonAvailabilities == null)
            {
                nonAvailabilities = new BusinessObjects.WorkManagement.EngineerNonAvailabilityCollection();
            }

            appointmentIndex = nonAvailabilities.Find("ID", nonAvailability.ID);
            if (!removeNonAvailability)
            {
                if (appointmentIndex < 0)
                {
                    // Work out an ID value for new NonAvailability and add it
                    nonAvailabilityID = 1;
                    while (nonAvailabilities.Find("ID", nonAvailability.ID) > -1)
                    {
                        nonAvailabilityID += 1;
                    }
                    nonAvailability.ID = nonAvailabilityID.ToString();
                    nonAvailabilities.Add(nonAvailability);
                    appointmentIndex = (nonAvailabilities.Count - 1);
                }
            }
            else
            {
                nonAvailabilities.RemoveAt(appointmentIndex);
            }

            // Save, removing redundant non-availabilities at the same time
            nonAvailabilities.Save(userID, DateTime.Now.Date.AddDays(-1));
        }
Esempio n. 2
0
        public ActionResult NonAvailability(string id)
        {
            BusinessObjects.WorkManagement.EngineerNonAvailabilityCollection nonAvailability = GetNonAvailability(id);
            if (nonAvailability == null)
            {
                nonAvailability = new BusinessObjects.WorkManagement.EngineerNonAvailabilityCollection();
            }

            ViewBag.UserID = id;
            return View(nonAvailability);
        }