public void adds_new_schedule()
        {
            //setup
            var timeSpan = new ScheduleTimeSpan(8M, 9M);

            var timeSpanDto = new ScheduleTimeSpanDto();
            timeSpanDto.OpenTime = timeSpan.OpenTime;
            timeSpanDto.OpenHours = timeSpan.OpenHours;

            var request = new AddProviderOrgUnitScheduleRequest();
            request.ProviderOrgUnitId = _ProviderOrgUnitId_NoExistingSchedules;
            request.TimeSpan = timeSpanDto;

            //act
            var response = HandleRequest<AddProviderOrgUnitScheduleResponse>(CreateHandler(), request);

            //assert
            using (var context = _objectContextFactory.CreateObjectContext())
            {
                context.ContextOptions.LazyLoadingEnabled = true;
                context.ContextOptions.ProxyCreationEnabled = true;
                var ProviderOrgUnit = context.CreateObjectSet<ProviderOrgUnit>().Single(pl => pl.Id == _ProviderOrgUnitId_NoExistingSchedules);

                Assert.IsTrue(ProviderOrgUnit.Schedules.Count() == 1);

                var schedule = ProviderOrgUnit.Schedules.ElementAt(0);

                Assert.IsTrue(schedule.TimeSpan.Equals(timeSpan));
            }
        }
        private static void SaveHours(ProviderAdminDetailView parent, SubEntity subentity)
        {
            try
            {
                //Deletes
                foreach (var record in subentity.Records.Where(r => r.Action == RecordActions.Deleted))
                {
                    var request = new DeleteProviderOrgUnitScheduleRequest()
                    {
                        ProviderOrgUnitScheduleId = int.Parse(parent.GetFieldValue(record.Fields, _id))
                    };
                    var response = parent.ProcessRequest<DeleteProviderOrgUnitScheduleResponse>(request);
                }

                //New
                foreach (var record in subentity.Records.Where(r => r.Action == RecordActions.New))
                {
                    var timeSpan = CommonUtils.CreateScheduleTimeSpan(parent.GetFieldValue(record.Fields, "Day"), parent.GetFieldValue(record.Fields, "OpenTime"), parent.GetFieldValue(record.Fields, "CloseTime"));

                    var request = new AddProviderOrgUnitScheduleRequest()
                    {
                        ProviderOrgUnitId = int.Parse(parent.GetFieldValue(record.Fields, _providerOrgUnitId)),
                        TimeSpan = timeSpan
                    };
                    var response = parent.ProcessRequest<AddProviderOrgUnitScheduleResponse>(request);
                }
            }
            catch (Exception ex)
            {
                subentity.ErrorMessage = ex.Message;
                throw;
            }
        }