示例#1
0
        public Class[] GetClasses(string username, string password, int studioid, DateTime startDate, DateTime endDate)
        {
            var sourceCredentials = new MindbodyClassService.SourceCredentials()
            {
                SourceName = Credentials.SourceName,
                Password   = Credentials.Password,
                SiteIDs    = new int[] { studioid }
            };

            var userCredentials = new UserCredentials()
            {
                Password = password, Username = username, SiteIDs = new int[] { studioid }
            };

            var classService = new MindbodyClassService.ClassService();
            var results      =
                classService.GetClasses(new GetClassesRequest()
            {
                SourceCredentials = sourceCredentials,
                StartDateTime     = new DateTime(startDate.Year, startDate.Month, startDate.Day, 0, 0, 0),
                EndDateTime       = new DateTime(endDate.Year, endDate.Month, endDate.Day, 23, 59, 59)
            });

            return(results.Classes);
        }
示例#2
0
        public Dictionary <String, ClientVisits> GetClients(string username, string password, int studioid, Class[] classes)
        {
            var names = new List <string>();

            var sourceCredentials = new MindbodyClassService.SourceCredentials()
            {
                SourceName = Credentials.SourceName,
                Password   = Credentials.Password,
                SiteIDs    = new int[] { studioid }
            };
            var userCredentials = new UserCredentials()
            {
                Password = password, Username = username, SiteIDs = new int[] { studioid }
            };

            var classService = new MindbodyClassService.ClassService();
            var clients      = new Dictionary <String, ClientVisits>();

            foreach (var _class in classes)
            {
                var classID = _class.ID.Value;

                var results =
                    classService.GetClassVisits(new GetClassVisitsRequest()
                {
                    ClassID           = classID,
                    SourceCredentials = sourceCredentials,
                    UserCredentials   = userCredentials
                });
                if (!results.Status.Equals(MindbodyStar.MindbodyClassService.StatusCode.Success))
                {
                    throw new Exception(results.Message);
                }
                if (results.Class?.Visits != null)
                {
                    foreach (var classVisit in results.Class.Visits)
                    {
                        if (classVisit.Client != null)
                        {
                            var client       = classVisit.Client;
                            var clientVisits = new ClientVisits();
                            if (clients.ContainsKey(client.ID))
                            {
                                clients.TryGetValue(client.ID, out clientVisits);
                                clients.Remove(client.ID);
                            }
                            // Add Client Data
                            if (clientVisits.ClientID == null)
                            {
                                clientVisits.ClientID = client.ID;
                                var lastNameLength = 1;
                                var displayName    = String.Format("{0} {1}", client.FirstName,
                                                                   client.LastName.Substring(0, lastNameLength));
                                while (names.Contains(displayName) && client.LastName.Length < lastNameLength - 1)
                                {
                                    lastNameLength++;
                                    displayName = String.Format("{0} {1}", client.FirstName,
                                                                client.LastName.Substring(0, lastNameLength));
                                }

                                clientVisits.DisplayName = displayName;
                            }
                            clientVisits.NumberOfVisits++;

                            clients.Add(client.ID, clientVisits);
                        }
                    }
                }
            }
            return(clients);
        }