Ejemplo n.º 1
0
        private async Task SaveRelatedItem(byte[] content, string FileName)
        {
            string FileContent = Convert.ToBase64String(content);


            if (string.IsNullOrEmpty(FileName))
            {
                FileName = "IMG_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".jpg";
            }


            ProjectInsight.WebApi.Client.Files.FileItemClient fileItemClient = null;

            if (ItemType.Equals("Task")) //Task link
            {
                fileItemClient = TasksService.client.ProjectInsightWebApiClient.FileItem;
            }
            else if (ItemType.Equals("Issue")) //Issue link
            {
                fileItemClient = IssuesService.client.ProjectInsightWebApiClient.FileItem;
            }
            else if (ItemType.Equals("ToDo")) //ToDo link
            {
                fileItemClient = ToDoService.client.ProjectInsightWebApiClient.FileItem;
            }
            else if (ItemType.Equals("ApprovalRequest")) //ToDo link
            {
                fileItemClient = ApprovalRequestService.client.ProjectInsightWebApiClient.FileItem;
            }
            else if (ItemType.Equals("Project"))               //Project
            {
                fileItemClient = DocumentsService.clientFiles; //.ProjectInsightWebApiClient.FileItem;
            }


            var result = await FilesFoldersService.UploadFile(fileItemClient, FileContent, FileName, FileName, ParentId.Value);

            if (result != null && !result.HasErrors)
            {
                MessagingCenter.Send(this, "RelatedItemsAdded", result.SavedId);
                await Navigation.PopAsync();
            }
            else if (result != null && result.HasErrors)
            {
                Common.Instance.ShowToastMessage("Error.." + result.Errors.FirstOrDefault(), DoubleResources.DangerSnackBar);
            }
        }
        public async void OnDownload(object sender, EventArgs e)
        {
            ProjectInsight.WebApi.Client.Files.FileItemClient fileItemClient = null;

            if (ItemType.Equals("Task")) //Task link
            {
                fileItemClient = TasksService.client.ProjectInsightWebApiClient.FileItem;
            }
            else if (ItemType.Equals("Issue")) //Issue link
            {
                fileItemClient = IssuesService.client.ProjectInsightWebApiClient.FileItem;
            }
            else if (ItemType.Equals("ToDo")) //ToDo link
            {
                fileItemClient = ToDoService.client.ProjectInsightWebApiClient.FileItem;
            }
            else if (ItemType.Equals("ApprovalRequest")) //ToDo link
            {
                fileItemClient = ApprovalRequestService.client.ProjectInsightWebApiClient.FileItem;
            }


            if (fileItemClient != null)
            {
                var answereSelect = await DisplayActionSheet("Are you want to save file:", "Save", null, relatedItem.Name);

                if (answereSelect != null && answereSelect.ToString().Length > 0 && answereSelect.Equals("Save"))
                {
                    viewModel.VisibleLoad = true;
                    var result = await FilesFoldersService.DownloadFile(fileItemClient, relatedItem.Id);

                    if (!result)
                    {
                        Common.Instance.ShowToastMessage("Error with downloading file!", DoubleResources.DangerSnackBar);
                    }
                    else
                    {
                        Common.Instance.ShowToastMessage("Success.", DoubleResources.SuccessSnackBar);
                    }

                    viewModel.VisibleLoad = false;
                }
            }
        }