static void GetAllServicesProvidedFromCompanyAsUser() { Delegates.GetAllServicesProvidedFromCompany getAllServicesProvided = (services) => { (currentUser as CompanyModel).servicesProvided = services.ToDictionary(x => x.serviceID, x => (object)x); }; FireBaseManager.GetFireBaseInstance().GetAllServicesProvidedFromCompany(currentUser.userID, getAllServicesProvided); }
public void GetAllServicesProvidedFromCompany(String companyID, Delegates.GetAllServicesProvidedFromCompany servicesCallback) { FirebaseDatabase.DefaultInstance.GetReference(DBTable.Company.ToString()).Child(companyID).Child(Parameters.servicesProvided.ToString()) .GetValueAsync().ContinueWith(task => { if (task.IsFaulted) { // Handle the error... } else if (task.IsCompleted) { DataSnapshot snapshot = task.Result; List <ServicesProvidedModel> services = new List <ServicesProvidedModel> (); foreach (var service in snapshot.Children) { string json = service.GetRawJsonValue(); services.Add(JsonUtility.FromJson <ServicesProvidedModel> (json)); } servicesCallback(services); } }); }
public void AddServicesToCompany(string companyID, List <ServicesProvidedModel> services, Delegates.GetAllServicesProvidedFromCompany success) { var servicesList = new List <ServicesProvidedModel> (); int index = 0; foreach (var service in services) { service.serviceID = reference.Child(DBTable.Company.ToString()).Push().Key; string json = JsonUtility.ToJson(service); reference.Child(DBTable.Company.ToString()).Child(companyID).Child(Parameters.servicesProvided.ToString()).Child(service.serviceID).SetRawJsonValueAsync(json).ContinueWith(task => { if (task.IsCompleted) { index++; servicesList.Add(service); if (index >= services.Count) { success(servicesList); } } }); } }