public void AddProjectHeading(ProjectHeading projectHeading) { mProjects.Insert(0, projectHeading); var itemModel = new ProjectItemViewModel(projectHeading); ProjectsCreated.Insert(0, itemModel); HaveProjectsCreated = true; }
private async Task SaveProject() { View.HidenKeyboard(); if (EmailInvite != string.Empty) { Invite(); } if (Title == null || Title == "") { mMessageboxService.ShowToast(Messages.EmptyProjectName); return; } if (string.IsNullOrEmpty(mCacheService.TempDescription)) { mMessageboxService.ShowToast(Messages.EmptyDescriptionProjectName); return; } else { Description = mPlatformService.GetPreference("Description"); //mPlatformService.SetPreference("Description", ""); } var inviteData = new List <Invite>(); for (int i = 0; i < Invites.Count; i++) { inviteData.Add(Invites[i].Invite); } Project project = new Project() { UserId = Mvx.Resolve <ICacheService>().CurrentUserData.UserId, Title = Title, Description = mCacheService.TempDescription, Stage = Stage, Created = DateTime.Now, Started = DateTime.Now, Updated = DateTime.Now, Invites = inviteData }; mPlatformService.ShowNetworkIndicator(); mProgressDialogService.ShowProgressDialog(); var response = await mApiService.CreateProject(project); mPlatformService.HideNetworkIndicator(); mProgressDialogService.HideProgressDialog(); if (response.StatusCode == System.Net.HttpStatusCode.OK) { var data = response.Data; mMessageboxService.ShowToast("Add project successful"); Mvx.Resolve <ITrackingService>().SendEvent("Created Project"); mPlatformService.SetPreference("Description", String.Empty); var newProject = new ProjectHeading { ProjectId = (long)data.Id, Stage = data.Stage, Title = data.Title, UserIsCreator = true, CreatedJoined = (System.DateTimeOffset)data.Created, Alert = false, }; ViewModelAction action = new ViewModelAction { ActionType = ViewModelActionType.Add, ViewModelType = typeof(HomeViewModel), SubViewModelType = typeof(ProjectsViewModel), Data = newProject }; Mvx.Resolve <IMvxMessenger>().Publish(new ViewModelActionMessage(this, action)); Close(this); } else { string errorData = response.ErrorData; if (!string.IsNullOrEmpty(errorData)) { mMessageboxService.ShowToast(errorData); } } }
public ProjectItemViewModel(ProjectHeading projectHeading) { this.ProjectHeading = projectHeading; }