示例#1
0
        private DataTable LoadActivities()
        {
            var activities = CalendarProvider.GetItems(_office, _costCenter, _fechaInicio, _fechaFin);

            DataTable dt = new DataTable();

            List <dynamic> rows = new List <dynamic>();

            foreach (var item in activities)
            {
                rows.Add(item);
            }

            rows = rows.DistinctBy(o => o.USERNAME).ToList();

            // Añadir cabeceras de filas (Colaboradores)
            Scheduler.Resources.Clear();
            foreach (var item in rows)
            {
                Scheduler.Resources.Add(item.USERNAME, item.ID_USER);
            }

            // Añadir cabeceras de columnas
            dt.Columns.Add("Id", typeof(string));
            dt.Columns.Add("Nombre", typeof(string));
            dt.Columns.Add("StartDate", typeof(DateTime));
            dt.Columns.Add("EndDate", typeof(DateTime));
            dt.Columns.Add("Status", typeof(string));
            dt.Columns.Add("resource_id", typeof(string));


            // Desplegar Filas
            foreach (var activity in activities)
            {
                DateTime estimatedStartDate = DateTime.ParseExact(activity.ESTIMATEDSTARTDATE.ToString("dd/MM/yyyy HH:mm:ss"), "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
                DateTime estimatedEndDate   = DateTime.ParseExact(activity.ESTIMATEDENDDATE.ToString("dd/MM/yyyy HH:mm:ss"), "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
                if (estimatedStartDate == estimatedEndDate)
                {
                    estimatedEndDate = estimatedEndDate.AddDays(1);
                }
                dt.Rows.Add(activity.ID_ACTIVITY,
                            ($"{activity.CODE}<br>{activity.NAME}<br>{(Enumerations.ActivityType) Enum.ToObject(typeof(Enumerations.ActivityType), activity.ACTIVITYTYPE)}"),
                            estimatedStartDate,
                            estimatedEndDate,
                            (Enumerations.ActivityType)Enum.ToObject(typeof(Enumerations.ActivityType), activity.ACTIVITYTYPE),
                            activity.ID_USER);
            }
            return(dt);
        }
        //***************************************************************************
        // Protected Methods
        //
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            if (!string.IsNullOrEmpty(this._providerName))
            {
                this._provider = CalendarProviderManager.Providers[this._providerName];
            }
            else
            {
                this._provider = CalendarProviderManager.Provider;
            }

            if (this._provider == null)
            {
                throw new Exception("Specified calendar provider name not found or no default calendar provider set.");
            }
        }
示例#3
0
        public async Task GetCalendarReturnCorrectModel()
        {
            // Arrange
            var now    = DateTime.Now;
            var client = new Mock <IIntranetClient>();

            client.Setup(c => c.GetCalendarBodyAsync(It.IsAny <DateTime>(), It.IsAny <string>())).Returns(Task.FromResult(Html.Text()));

            var provider = new CalendarProvider(NullLogger <CalendarProvider> .Instance, client.Object);

            // Act
            var calendar = await provider.GetCalendarAsync(now);

            // Assert
            Assert.Equal(now.Date, calendar.Day);
            Assert.NotEmpty(calendar.Rooms);
            var term = calendar.Rooms.First().ReservedTerms.First();

            Assert.NotEmpty(term.ReservationId);
            Assert.Equal(now.Date, term.StartTime.Date);
            Assert.True(TimeSpan.FromMinutes(0) < term.Duration);
        }
示例#4
0
        // GET: Provider
        public ActionResult Index(int providerID = 1)
        {
            CalendarProvider calProvider = new CalendarProvider(providerID);

            return(View(calProvider));
        }