public List <IAppointment> GetAppointments(long staffId, DateTime appointmentDate) { var request = new GetStaffAppointmentsRequest { // Set Source Credentials SourceCredentials = new SourceCredentials { SourceName = "apidevhomework", Password = "******", SiteIDs = new ArrayOfInt { -31100 } }, // Set Staff Credentials StaffCredentials = new StaffCredentials { Username = @"Owner", Password = @"apidemo1234", SiteIDs = new ArrayOfInt { -31100 } }, // Inquire about this. Instructions say to use staff credentials in the format below, which doesn't yeild any results. // Using the owner creds with the StaffIds array does get the results that we are looking for. Bug in API Or User Error? // Note to Self: Change first parameter back to IStaff instead of long when this is working as instructions state //StaffCredentials = new StaffCredentials // { // Username = string.Format("{0}.{1}", staff.FirstName, staff.LastName), // Password = string.Format("{0}{1}{2}", staff.FirstName[0], staff.LastName[0], staff.Id), // SiteIDs = new ArrayOfInt {-31100} // } StaffIDs = new ArrayOfLong { staffId }, StartDate = appointmentDate, EndDate = appointmentDate }; var proxy = new AppointmentServiceSoapClient(); GetStaffAppointmentsResult response = proxy.GetStaffAppointments(request); return(response.Appointments.Select(appointment => new AppointmentModel { Id = appointment.ID, AppointmentDate = appointment.StartDateTime, StartTime = appointment.StartDateTime, EndTime = appointment.EndDateTime, ClientName = string.Format("{0} {1}", appointment.Client.FirstName, appointment.Client.LastName), SessionType = appointment.SessionType.Name }).Cast <IAppointment>().ToList()); }
public virtual List <IAppointment> GetStaffAppointments(IStaff staff, DateTime appointmentDate) { // Appointments might span midnight DateTime endDate = appointmentDate.AddDays(1); var request = new GetStaffAppointmentsRequest { SourceCredentials = new SourceCredentials { SourceName = "MBO.Russel.Fritch", Password = "******", SiteIDs = new ArrayOfInt { -31100 } }, StaffCredentials = new StaffCredentials { Username = string.Format("{0}.{1}", staff.FirstName, staff.LastName), Password = string.Format("{0}{1}{2}", staff.FirstName.ToLower()[0], staff.LastName.ToLower()[0], staff.ID), SiteIDs = new ArrayOfInt { -31100 } }, StartDate = appointmentDate, EndDate = endDate, }; var proxy = new AppointmentServiceSoapClient(); GetStaffAppointmentsResult response = proxy.GetStaffAppointments(request); return(response.Appointments.Select(appointment => new AppointmentModel { ID = appointment.ID, StartDateTime = appointment.StartDateTime, EndDateTime = appointment.EndDateTime, ClientName = string.Format("{0} {1}", appointment.Client.FirstName, appointment.Client.LastName), SessionType = appointment.SessionType.Name }).Cast <IAppointment>().ToList()); }