public void Cells_Workbook_Tests()
        {
            try
            {
                storageService.File.CopyFile(Utils.CloudStorage_Input_Folder + "/cells-sample.xlsx", Utils.CloudStorage_Output_Folder + "/cells-sample.xlsx");

                WorkbookResponse WorkbookResponse = cellsService.Workbook.ReadWorkbookInfo(name, string.Empty, true, Utils.CloudStorage_Output_Folder);
                cellsService.Workbook.ExportWorkbook(name, WorkbookExportFormat.Pdf, string.Empty, false, Utils.CloudStorage_Output_Folder, Utils.Local_Output_Path + "cells-workbook-pdf.pdf");
                cellsService.Workbook.ExportWorkbook(name, WorkbookExportFormat.Pdf, string.Empty, false, Utils.CloudStorage_Output_Folder, Utils.CloudStorage_Output_Folder + "/cells-workbook-pdf.pdf");

                //To test
                //WorkbookResponse WorkbookResponse2 = cellsService.Workbook.CreateNewWorkbookUsingDeferentMethods(name, "templateFile", "dataFile", Utils.CloudStorage_Output_Folder);

                cellsService.Workbook.ConvertWorkbookToSomeFormat(WorkbookExportFormat.Pdf, string.Empty, Utils.CloudStorage_Output_Folder + "/cells-workbook-pdf2.pdf", Utils.Local_Input_Path + name);

                WorkbookEncryptionRequest workbookEncryptionRequest = new WorkbookEncryptionRequest(WorkbookEncryptionType.XOR, 128, "Aspose");
                cellsService.Workbook.EncriptDocument(name, Utils.CloudStorage_Output_Folder, workbookEncryptionRequest);
                cellsService.Workbook.DecryptDocument(name, Utils.CloudStorage_Output_Folder, workbookEncryptionRequest);

                WorkbookStyleResponse     WorkbookStyleResponse     = cellsService.Workbook.ReadWorkbookDefaultStyleInfo(name, Utils.CloudStorage_Output_Folder);
                WorkbookTextItemsResponse WorkbookTextItemsResponse = cellsService.Workbook.ReadWorkbooksTextItems(name, Utils.CloudStorage_Output_Folder);
                WorkbookNamesResponse     WorkbookNamesResponse     = cellsService.Workbook.ReadWorkbooksNames(name, Utils.CloudStorage_Output_Folder);
                WorkbookNameResponse      WorkbookNameResponse      = cellsService.Workbook.ReadWorkbooksName(name, "TestName", Utils.CloudStorage_Output_Folder);

                ProtectDocumentRequest protectDocumentRequest = new ProtectDocumentRequest();
                protectDocumentRequest.Password = "******";

                cellsService.Workbook.ProtectDocumentFromChanges(name, Utils.CloudStorage_Output_Folder, protectDocumentRequest);
                cellsService.Workbook.UnprotectDocumentFromChanges(name, Utils.CloudStorage_Output_Folder, protectDocumentRequest);

                storageService.File.CopyFile(Utils.CloudStorage_Input_Folder + "/cells-sample.xlsx", Utils.CloudStorage_Output_Folder + "/cells-sample2.xlsx");
                WorkbookResponse WorkbookResponse4 = cellsService.Workbook.MergeWorkbooks(name, Utils.CloudStorage_Output_Folder + "/cells-sample2.xlsx", Utils.CloudStorage_Output_Folder);

                CellsTextItemsResponse      CellsTextItemsResponse      = cellsService.Workbook.SearchText(name, "Student1", Utils.CloudStorage_Output_Folder);
                WorkbookReplaceTextResponse WorkbookReplaceTextResponse = cellsService.Workbook.ReplaceText(name, "Student", "Employee", Utils.CloudStorage_Output_Folder);

                //To test
                //WorkbookResponse WorkbookResponse5 = cellsService.Workbook.SmartMarkerProcessingResult(name, "xmlFile", Utils.CloudStorage_Output_Folder, "outPath");

                WorkbookSplitResponse WorkbookSplitResponse = cellsService.Workbook.SplitWorkbook(name, CellsSplitFormat.Gif, 1, 2, 0, 0, Utils.CloudStorage_Output_Folder);

                //To test
                //cellsService.Workbook.ImportDataToWorkbook(name, Utils.CloudStorage_Output_Folder, WorkbookImportOption);

                cellsService.Workbook.CalculateAllFormulasInWorkbook(name, Utils.CloudStorage_Output_Folder);

                CellsAutoFitterOptionsRequest autoFitterOptions = new CellsAutoFitterOptionsRequest();
                autoFitterOptions.AutoFitMergedCells = true;
                autoFitterOptions.IgnoreHidden       = true;
                autoFitterOptions.OnlyAuto           = false;

                cellsService.Workbook.AutofitWorkbookRows(name, 1, 50, false, autoFitterOptions, Utils.CloudStorage_Output_Folder);

                //storageService.File.DownloadFile(Utils.CloudStorage_Output_Folder + "/cells-sample.xlsx", Utils.Local_Output_Path + "/cells-sample.xlsx");
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }
        }
Пример #2
0
        public void RequestWithoutColumnList()
        {
            List <EmployeeModel> wbList    = new List <EmployeeModel>();
            Function             function  = new Function();
            QueryBuilderRequest  wbRequest = new QueryBuilderRequest
            {
                CompanyId = 6,
                UserId    = 6,
                Payload   = new QueryBuilderRequest
                {
                    Fields     = wbList,
                    EntityName = "Workbook",
                    AppType    = Constants.QUERY_BUILDER
                }
            };

            EmployeeModel wbFilter1 = new EmployeeModel
            {
                Name     = Constants.DAYS_TO_COMPLETE,
                Value    = "20",
                Operator = "<="
            };

            wbList.Add(wbFilter1);

            WorkbookResponse wbResponse       = function.GetWorkbookQueryBuilder(wbRequest, null);
            ErrorResponse    workbookResponse = wbResponse.Error;

            Assert.AreEqual(500, workbookResponse.Status);
            Assert.AreEqual(33, workbookResponse.Code);
            StringAssert.Contains(workbookResponse.Message, TestConstants.SYSTEM_ERROR);
        }
Пример #3
0
        /// <summary>
        ///  [QueryBuilder] Function to get list of workbook(s) filtered with some condition(s)
        /// </summary>
        /// <param name="queryBuilderRequest"></param>
        /// <param name="context"></param>
        /// <returns>WorkbookResponse</returns>
        public WorkbookResponse GetWorkbookQueryBuilder(QueryBuilderRequest queryBuilderRequest, ILambdaContext context)
        {
            WorkbookRepository workbookRepository = new WorkbookRepository();
            WorkbookResponse   workbookResponse   = new WorkbookResponse();
            Authorizer         authorizer         = new Authorizer();

            try
            {
                //Validating the student details
                string studentDetails = queryBuilderRequest.Payload.Fields.Where(x => x.Name.ToUpper() == Constants.STUDENT_DETAILS).Select(x => x.Value).FirstOrDefault();

                if (authorizer.ValidateUser(queryBuilderRequest.UserId, queryBuilderRequest.CompanyId, queryBuilderRequest.Payload.AppType, studentDetails))
                {
                    return(workbookRepository.GetWorkbookDetails(queryBuilderRequest));
                }
                else
                {
                    workbookResponse.Error = ResponseBuilder.Forbidden();
                    return(workbookResponse);
                }
            }
            catch (Exception getWorkbookQueryBuilderException)
            {
                LambdaLogger.Log(getWorkbookQueryBuilderException.ToString());
                workbookResponse.Error = ResponseBuilder.InternalError();
                return(workbookResponse);
            }
        }
        public static void Run()
        {
            // ExStart:1
            CellsApi   cellsApi   = new CellsApi(Common.APP_KEY, Common.APP_SID, Common.BASEPATH);
            StorageApi storageApi = new StorageApi(Common.APP_KEY, Common.APP_SID, Common.BASEPATH);

            String fileName     = "Sample_Test_Book" + new Random().Next(100) + ".xls";
            String templateFile = "Sample_Test_Book.xls";
            String dataFile     = null;

            byte[] file    = null;
            String storage = null;
            String folder  = null;

            try
            {
                // Upload source file to aspose cloud storage
                storageApi.PutCreate(templateFile, "", "", System.IO.File.ReadAllBytes(Common.GetDataDir() + templateFile));
                // Invoke Aspose.Cells Cloud SDK API to create workbook from template
                WorkbookResponse apiResponse = cellsApi.PutWorkbookCreate(fileName, templateFile, dataFile, storage, folder, file);

                if (apiResponse != null && apiResponse.Status.Equals("OK"))
                {
                    String outPutFileName = apiResponse.Workbook.FileName;
                    Console.WriteLine("File name:" + outPutFileName);
                    Console.ReadKey();
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
            }
            // ExEnd:1
        }
Пример #5
0
        public static void Run()
        {
            // ExStart:1
            CellsApi   cellsApi   = new CellsApi(Common.APP_KEY, Common.APP_SID, Common.BASEPATH);
            StorageApi storageApi = new StorageApi(Common.APP_KEY, Common.APP_SID, Common.BASEPATH);

            String fileName  = "Sample_Book1.xlsx";
            String mergeWith = "Sample_Book2.xls";
            String storage   = "";
            String folder    = "";

            try
            {
                // Upload file to aspose cloud storage
                storageApi.PutCreate(fileName, "", "", System.IO.File.ReadAllBytes(Common.GetDataDir() + fileName));

                // Upload merge file to aspose cloud storage
                storageApi.PutCreate(mergeWith, "", "", System.IO.File.ReadAllBytes(Common.GetDataDir() + mergeWith));

                // Invoke Aspose.Cells Cloud SDK API to merge excel workbooks
                WorkbookResponse apiResponse = cellsApi.PostWorkbooksMerge(fileName, mergeWith, storage, folder);

                if (apiResponse != null && apiResponse.Status.Equals("OK"))
                {
                    String destFileName = apiResponse.Workbook.FileName;
                    Console.WriteLine("File name:" + destFileName);
                    Console.ReadKey();
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
            }
            // ExEnd:1
        }
Пример #6
0
        static void Main()
        {
            string dataDir = Common.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

            string output = "output.xlsx";

            WorkbookResponse apiResponse =
                Common.CellsService.Workbook.CreateNewWorkbookUsingDeferentMethods(output,
                                                                                   string.Empty, string.Empty, Common.FOLDER, storage: Common.STORAGE);

            Common.StorageService.File.DownloadFile(output, dataDir + output, storage: Common.STORAGE);
        }
Пример #7
0
        public void GetWorkbooksWithSingleField()
        {
            List <EmployeeModel> wbList    = new List <EmployeeModel>();
            Function             function  = new Function();
            QueryBuilderRequest  wbRequest = new QueryBuilderRequest
            {
                CompanyId = 6,
                UserId    = 6,
                Payload   = new QueryBuilderRequest
                {
                    ColumnList = new string[] { Constants.WORKBOOK_ID, Constants.WORKBOOK_NAME, Constants.DESCRIPTION, Constants.WORKBOOK_CREATED_BY, Constants.DAYS_TO_COMPLETE },
                    Fields     = wbList,
                    EntityName = "Workbook",
                    AppType    = Constants.QUERY_BUILDER
                }
            };
            EmployeeModel wbFilter1 = new EmployeeModel
            {
                Name     = Constants.DAYS_TO_COMPLETE,
                Value    = "20",
                Operator = "<="
            };
            EmployeeModel wbFilter2 = new EmployeeModel
            {
                Name     = Constants.WORKBOOK_CREATED,
                Value    = "01/01/1787 and 04/03/2019", //"08 /06/1977, 08/08/1975",
                Operator = "BETWEEN"
            };
            EmployeeModel wbFilter3 = new EmployeeModel
            {
                Name     = Constants.WORKBOOK_ID,
                Value    = "14",
                Operator = "<"
            };
            EmployeeModel wbFilter4 = new EmployeeModel
            {
                Name     = Constants.SUPERVISOR_ID,
                Value    = "6",
                Operator = "!="
            };

            wbList.Add(wbFilter3);
            //wbList.Add(wbFilter4);

            WorkbookResponse     wbResponse   = function.GetWorkbookQueryBuilder(wbRequest, null);
            List <WorkbookModel> workbookList = wbResponse.Workbooks;

            Assert.AreNotEqual(0, workbookList.Count);
            Assert.IsTrue(workbookList[workbookList.Count - 1].WorkBookId < 14);
        }
Пример #8
0
        public void GetWorkbooksWithMultipleField()
        {
            List <EmployeeModel> wbList    = new List <EmployeeModel>();
            Function             function  = new Function();
            QueryBuilderRequest  wbRequest = new QueryBuilderRequest
            {
                CompanyId = 6,
                UserId    = 6,
                Payload   = new QueryBuilderRequest
                {
                    ColumnList = new string[] { Constants.WORKBOOK_ID, Constants.WORKBOOK_NAME, Constants.DESCRIPTION, Constants.WORKBOOK_CREATED_BY, Constants.DAYS_TO_COMPLETE },
                    Fields     = wbList,
                    EntityName = "Workbook",
                    AppType    = Constants.QUERY_BUILDER
                }
            };
            EmployeeModel wbFilter1 = new EmployeeModel
            {
                Name     = Constants.WORKBOOK_ID,
                Value    = "40",
                Operator = ">="
            };
            EmployeeModel wbFilter2 = new EmployeeModel
            {
                Name     = Constants.WORKBOOK_CREATED,
                Value    = "01/21/2001",
                Operator = "<=",
                Bitwise  = "and"
            };
            EmployeeModel wbFilter3 = new EmployeeModel
            {
                Name     = Constants.WORKBOOK_NAME,
                Value    = "e",
                Operator = "contains",
                Bitwise  = "and"
            };

            wbList.Add(wbFilter1);
            wbList.Add(wbFilter2);
            wbList.Add(wbFilter3);

            WorkbookResponse     wbResponse   = function.GetWorkbookQueryBuilder(wbRequest, null);
            List <WorkbookModel> workbookList = wbResponse.Workbooks;

            Assert.AreNotEqual(0, workbookList.Count);
            Assert.AreNotEqual("", workbookList[0].WorkBookId);
            Assert.IsTrue(workbookList[0].WorkBookId >= 40);
            StringAssert.Matches(workbookList[0].WorkBookName, new Regex(@"(?i)\b(.*?)e(.*?)\b"));
        }
Пример #9
0
        public void GetWorkbooksForInvalidCompany()
        {
            List <EmployeeModel> wbList    = new List <EmployeeModel>();
            Function             function  = new Function();
            QueryBuilderRequest  wbRequest = new QueryBuilderRequest
            {
                CompanyId = 8, // Valid one is 6
                UserId    = 6,
                Payload   = new QueryBuilderRequest
                {
                    ColumnList = new string[] { Constants.WORKBOOK_ID, Constants.WORKBOOK_NAME, Constants.DESCRIPTION, Constants.WORKBOOK_CREATED_BY, Constants.DAYS_TO_COMPLETE },
                    Fields     = wbList,
                    EntityName = "Workbook",
                    AppType    = Constants.QUERY_BUILDER
                }
            };
            EmployeeModel wbFilter1 = new EmployeeModel
            {
                Name     = Constants.WORKBOOK_ID,
                Value    = "40",
                Operator = ">="
            };
            EmployeeModel wbFilter2 = new EmployeeModel
            {
                Name     = Constants.WORKBOOK_CREATED,
                Value    = "01/21/2001",
                Operator = "<=",
                Bitwise  = "and"
            };
            EmployeeModel wbFilter3 = new EmployeeModel
            {
                Name     = Constants.WORKBOOK_NAME,
                Value    = "e",
                Operator = "contains",
                Bitwise  = "and"
            };

            wbList.Add(wbFilter1);
            wbList.Add(wbFilter2);
            wbList.Add(wbFilter3);

            WorkbookResponse wbResponse   = function.GetWorkbookQueryBuilder(wbRequest, null);
            ErrorResponse    workbookList = wbResponse.Error;

            Assert.AreEqual(403, workbookList.Status);
            Assert.AreEqual(14, workbookList.Code);
            StringAssert.Contains(workbookList.Message, TestConstants.PERMISSION_DENIED);
        }
Пример #10
0
        public void GetDashboardForAUser()
        {
            List <EmployeeModel> wbList      = new List <EmployeeModel>();
            TestExecution        testExecute = new TestExecution();

            string[] ColumnList = new string[] { Constants.USERID, Constants.SUPERVISOR_ID, Constants.EMPLOYEE_NAME, Constants.ROLE, Constants.ASSIGNED_WORKBOOK, Constants.WORKBOOK_DUE, Constants.PAST_DUE_WORKBOOK, Constants.COMPLETED_WORKBOOK, Constants.TOTAL_EMPLOYEES };

            EmployeeModel wbFilter1 = testExecute.CreateFields(Constants.SUPERVISOR_ID, "331535", "=", "");
            EmployeeModel wbFilter2 = testExecute.CreateFields(Constants.CURRENT_USER, "331535", "=", "AND");

            wbList.Add(wbFilter1);
            wbList.Add(wbFilter2);

            WorkbookResponse     wbResponse   = testExecute.ExecuteTests(2288, 331535, ColumnList, Constants.WORKBOOK_DASHBOARD, wbList);
            List <WorkbookModel> workbookList = wbResponse.Workbooks;

            Assert.IsTrue(workbookList.Count > 0);
        }
Пример #11
0
        public void GetTasksProgressForAWorkbook()
        {
            List <EmployeeModel> wbList      = new List <EmployeeModel>();
            TestExecution        testExecute = new TestExecution();

            string[] ColumnList = new string[] { Constants.USERID, Constants.WORKBOOK_ID, Constants.TASK_ID, Constants.TASK_CODE, Constants.TASK_NAME, Constants.COMPLETED_TASK, Constants.INCOMPLETE_TASK, Constants.TOTAL_TASK };

            EmployeeModel wbFilter1 = testExecute.CreateFields(Constants.USERID, "384666", "=", "");
            EmployeeModel wbFilter2 = testExecute.CreateFields(Constants.WORKBOOK_ID, "22", "=", "AND");

            wbList.Add(wbFilter1);
            wbList.Add(wbFilter2);

            WorkbookResponse     wbResponse   = testExecute.ExecuteTests(2288, 331535, ColumnList, Constants.WORKBOOK_DASHBOARD, wbList);
            List <WorkbookModel> workbookList = wbResponse.Workbooks;

            Assert.IsTrue(workbookList.Count > 0);
        }
Пример #12
0
        public void GetWorkbooksForSpecificUserId()
        {
            List <EmployeeModel> wbList    = new List <EmployeeModel>();
            Function             function  = new Function();
            QueryBuilderRequest  wbRequest = new QueryBuilderRequest
            {
                CompanyId = 6, //1, //6,
                UserId    = 6, //335216, //6,
                Payload   = new QueryBuilderRequest
                {
                    ColumnList = new string[] { Constants.USERID, Constants.WORKBOOK_ID, Constants.WORKBOOK_NAME, Constants.DESCRIPTION, Constants.WORKBOOK_CREATED_BY, Constants.DAYS_TO_COMPLETE },
                    Fields     = wbList,
                    EntityName = "Workbook",
                    AppType    = Constants.QUERY_BUILDER
                }
            };
            EmployeeModel wbFilter1 = new EmployeeModel
            {
                Name     = Constants.USERID,
                Value    = "10",
                Operator = ">="
            };
            EmployeeModel wbFilter2 = new EmployeeModel
            {
                Name     = Constants.STUDENT_DETAILS,
                Value    = "10",
                Operator = "=",
                Bitwise  = "AND"
            };

            wbList.Add(wbFilter1);
            //wbList.Add(wbFilter2);

            WorkbookResponse     wbResponse   = function.GetWorkbookQueryBuilder(wbRequest, null);
            List <WorkbookModel> workbookList = wbResponse.Workbooks;

            Assert.AreNotEqual(0, workbookList.Count);
            Assert.IsTrue(workbookList[workbookList.Count - 1].UserId >= 10);
        }
Пример #13
0
        public void GetWorkbooksForInvalidInputs()
        {
            List <EmployeeModel> wbList    = new List <EmployeeModel>();
            Function             function  = new Function();
            QueryBuilderRequest  wbRequest = new QueryBuilderRequest
            {
                CompanyId = 6,
                UserId    = 6,
                Payload   = new QueryBuilderRequest
                {
                    ColumnList = new string[] { Constants.WORKBOOK_ID, Constants.WORKBOOK_NAME, Constants.DESCRIPTION, Constants.WORKBOOK_CREATED_BY, Constants.DAYS_TO_COMPLETE },
                    Fields     = wbList,
                    EntityName = "Workbook",
                    AppType    = Constants.QUERY_BUILDER
                }
            };
            EmployeeModel wbFilter1 = new EmployeeModel
            {
                Name     = Constants.WORKBOOK_ID,
                Value    = "40",
                Operator = ">="
            };
            EmployeeModel wbFilter2 = new EmployeeModel
            {
                Name     = Constants.WORKBOOK_CREATED,
                Value    = "ITS-LMS",
                Operator = "<=",
                Bitwise  = "and"
            };

            wbList.Add(wbFilter1);
            wbList.Add(wbFilter2);

            WorkbookResponse     wbResponse   = function.GetWorkbookQueryBuilder(wbRequest, null);
            List <WorkbookModel> workbookList = wbResponse.Workbooks;

            Assert.AreEqual(0, workbookList.Count);
            Assert.ThrowsException <ArgumentOutOfRangeException>(() => workbookList[0]);
        }
Пример #14
0
        public void RepititionsDetailForUnattemptedTask()
        {
            List <EmployeeModel> wbList      = new List <EmployeeModel>();
            TestExecution        testExecute = new TestExecution();

            string[] ColumnList = new string[] { Constants.NUMBER_OF_ATTEMPTS, Constants.STATUS, Constants.LAST_ATTEMPT_DATE, Constants.LOCATION, Constants.EVALUATOR_NAME, Constants.COMMENTS };

            EmployeeModel wbFilter1 = testExecute.CreateFields(Constants.USERID, "384666", "=", "");
            EmployeeModel wbFilter2 = testExecute.CreateFields(Constants.STATUS, Constants.COMPLETED, "=", "AND");
            EmployeeModel wbFilter4 = testExecute.CreateFields(Constants.WORKBOOK_ID, "22", "=", "AND");
            EmployeeModel wbFilter3 = testExecute.CreateFields(Constants.TASK_ID, "32934", "=", "AND");

            wbList.Add(wbFilter1);
            wbList.Add(wbFilter2);
            wbList.Add(wbFilter3);
            wbList.Add(wbFilter4);

            WorkbookResponse     wbResponse   = testExecute.ExecuteTests(2288, 331535, ColumnList, Constants.WORKBOOK_DASHBOARD, wbList);
            List <WorkbookModel> workbookList = wbResponse.Workbooks;

            Assert.IsTrue(workbookList.Count == 0);
        }
Пример #15
0
        public void GetWorkbooksWithAdditionalColumns()
        {
            List <EmployeeModel> wbList    = new List <EmployeeModel>();
            Function             function  = new Function();
            QueryBuilderRequest  wbRequest = new QueryBuilderRequest
            {
                CompanyId = 6,
                UserId    = 6,
                Payload   = new QueryBuilderRequest
                {
                    ColumnList = new string[] { Constants.WORKBOOK_ID, Constants.WORKBOOK_NAME, Constants.DESCRIPTION, Constants.WORKBOOK_CREATED_BY, Constants.DAYS_TO_COMPLETE, Constants.WORKBOOK_ASSIGNED_DATE, Constants.REPETITIONS, Constants.LAST_ATTEMPT_DATE },
                    Fields     = wbList,
                    EntityName = "Workbook",
                    AppType    = Constants.QUERY_BUILDER
                }
            };
            EmployeeModel wbFilter1 = new EmployeeModel
            {
                Name     = Constants.WORKBOOK_ID,
                Value    = "40",
                Operator = ">="
            };
            EmployeeModel wbFilter2 = new EmployeeModel
            {
                Name     = Constants.WORKBOOK_CREATED,
                Value    = "01/21/2001",
                Operator = "<=",
                Bitwise  = "and"
            };
            EmployeeModel wbFilter3 = new EmployeeModel
            {
                Name     = Constants.WORKBOOK_NAME,
                Value    = "e",
                Operator = "contains",
                Bitwise  = "and"
            };

            wbList.Add(wbFilter1);
            wbList.Add(wbFilter2);
            wbList.Add(wbFilter3);

            Dictionary <string, string> pathValues = new Dictionary <string, string>
            {
                { "companyId", "6" }
            };
            APIGatewayProxyRequest aPIGatewayProxyRequest = new APIGatewayProxyRequest
            {
                Body           = JsonConvert.SerializeObject(wbRequest),
                PathParameters = pathValues
            };

            WorkbookResponse     wbResponse   = function.GetWorkbookQueryBuilder(wbRequest, null);
            List <WorkbookModel> workbookList = wbResponse.Workbooks;

            Assert.AreNotEqual(0, workbookList.Count);
            Assert.AreNotEqual(null, workbookList[0].WorkBookId);
            Assert.IsTrue(workbookList[0].WorkBookId >= 40);
            Assert.AreNotEqual(null, workbookList[0].WorkbookAssignedDate);
            Assert.AreNotEqual(null, workbookList[0].Repetitions);
            Assert.AreNotEqual(null, workbookList[0].LastAttemptDate);
            StringAssert.Matches(workbookList[0].WorkBookName, new Regex(@"(?i)\b(.*?)e(.*?)\b"));
        }
Пример #16
0
        /// <summary>
        ///     Get list of workbook(s) based on input field and column(s) for specific company [QueryBuilder]
        /// </summary>
        /// <param name="queryBuilderRequest"></param>
        /// <returns>WorkbookResponse</returns>
        public WorkbookResponse GetWorkbookDetails(QueryBuilderRequest queryBuilderRequest)
        {
            string query     = string.Empty;
            int    companyId = 0;
            Dictionary <string, string> parameterList;
            WorkbookResponse            workbookResponse = new WorkbookResponse();
            string userId = string.Empty;
            string status = string.Empty;
            string workbookID = string.Empty;
            string taskId = string.Empty, role = string.Empty;

            try
            {
                if (queryBuilderRequest.CompanyId == 0)
                {
                    throw new ArgumentException("CompanyId");
                }
                if (queryBuilderRequest.UserId == 0)
                {
                    throw new ArgumentException("UserId");
                }
                if (queryBuilderRequest.Payload == null)
                {
                    throw new ArgumentException("Fields and ColumnList");
                }

                if (queryBuilderRequest.Payload.Fields == null)
                {
                    throw new ArgumentException("Fields ");
                }
                if (queryBuilderRequest.Payload.ColumnList == null)
                {
                    throw new ArgumentException("Columns");
                }

                //Assign the request details to corresponding objects
                companyId           = Convert.ToInt32(queryBuilderRequest.CompanyId);
                queryBuilderRequest = queryBuilderRequest.Payload;

                //Assign the companyId to the new object
                queryBuilderRequest.CompanyId = companyId;
                parameterList = ParameterHelper.Getparameters(queryBuilderRequest);
                role          = Convert.ToString(parameterList["roles"]);

                if (queryBuilderRequest.AppType == Constants.WORKBOOK_DASHBOARD)
                {
                    if (queryBuilderRequest.Fields.Where(x => x.Name == Constants.WORKBOOK_DETAILS).Select(y => y.Name).FirstOrDefault() == Constants.WORKBOOK_DETAILS)
                    {
                        userId = parameterList["userId"].ToString();
                        query  = "EXEC  dbo.Training_OJT_Dashboard_GetDashboardSummary  @companyId  =" + companyId + " , @supervisorId  = " + userId + " , @showTopLevel = " + CheckSupervisor(companyId, Convert.ToInt32(userId));
                    }

                    else if (queryBuilderRequest.Fields.Where(x => x.Name == Constants.WORKBOOK_IN_DUE).Select(y => y.Name).FirstOrDefault() == Constants.WORKBOOK_IN_DUE)
                    {
                        userId = parameterList["userId"].ToString();
                        query  = "EXEC  dbo.Training_OJT_Dashboard_GetAssignedOJTs  @companyId  =" + companyId + " , @supervisorId  = " + userId + ", @dueInDays  = " + parameterList["duedays"].ToString() + ",@status = 0";
                    }

                    else if (queryBuilderRequest.Fields.Where(x => x.Name == Constants.PAST_DUE).Select(y => y.Name).FirstOrDefault() == Constants.PAST_DUE)
                    {
                        userId = parameterList["userId"].ToString();
                        query  = "EXEC  dbo.Training_OJT_Dashboard_GetAssignedOJTs   @companyId  =" + companyId + " , @supervisorId  = " + userId + ", @dueInDays  = " + parameterList["duedays"].ToString() + " ,@status = 1";
                    }

                    else if (queryBuilderRequest.Fields.Where(x => x.Name == Constants.COMPLETED).Select(y => y.Name).FirstOrDefault() == Constants.COMPLETED)
                    {
                        userId = parameterList["userId"].ToString();
                        query  = "EXEC  dbo.Training_OJT_Dashboard_GetAssignedOJTs   @companyId  =" + companyId + " , @supervisorId  = " + userId + " , @status   = " + 2;
                    }

                    else if (queryBuilderRequest.Fields.Where(x => x.Name == Constants.ASSIGNED_WORKBOOK).Select(y => y.Name).FirstOrDefault() == Constants.ASSIGNED_WORKBOOK)
                    {
                        userId = parameterList["userId"].ToString();
                        query  = "EXEC  dbo.Training_OJT_Dashboard_GetAssignedOJTs   @companyId  =" + companyId + " , @supervisorId  = " + userId;
                    }

                    else if (queryBuilderRequest.Fields.Where(x => x.Name == Constants.TASK_PROGRESS).Select(y => y.Name).FirstOrDefault() == Constants.TASK_PROGRESS)
                    {
                        userId     = parameterList["userId"].ToString();
                        workbookID = parameterList["workbookId"].ToString();
                        query      = "EXEC  dbo.Training_OJT_Dashboard_GetTaskProgress   @companyId  =" + companyId + " , @studentId   = " + userId + ", @OJTId =" + workbookID;
                    }

                    else if (queryBuilderRequest.Fields.Where(x => x.Name == Constants.REP_PROGRESS).Select(y => y.Name).FirstOrDefault() == Constants.REP_PROGRESS)
                    {
                        userId     = parameterList["userId"].ToString();
                        workbookID = parameterList["workbookId"].ToString();
                        taskId     = parameterList["taskId"].ToString();
                        string tag = queryBuilderRequest.Fields.Where(x => x.Name == Constants.STATUS).Select(y => y.Value).FirstOrDefault();
                        status = tag == Constants.COMPLETED ? "1" : tag == Constants.FAILED ? "0" : "null";
                        query  = "EXEC  dbo.Training_OJT_Dashboard_GetRepProgress   @companyId  =" + companyId + " , @studentId  = " + userId + ", @OJTId =" + workbookID + ", @taskId=" + taskId + ", @completionStatus=" + status;
                    }
                    if (!string.IsNullOrEmpty(query) && !string.IsNullOrEmpty(role))
                    {
                        query += " , @roleId  = " + role;
                    }
                }
                else
                {
                    query = CreateWorkbookQuery(queryBuilderRequest);
                }
                //Read the SQL Parameters value



                //Create the dictionary to pass the parameter value

                workbookResponse.Workbooks = ReadWorkBookDetails(query, parameterList);

                //Send the response depends upon the workboook details
                if (workbookResponse.Workbooks != null)
                {
                    return(workbookResponse);
                }
                else
                {
                    workbookResponse.Error = ResponseBuilder.InternalError();
                    return(workbookResponse);
                }
            }
            catch (Exception getEmployeeDetails)
            {
                LambdaLogger.Log(getEmployeeDetails.ToString());
                workbookResponse.Error = new ExceptionHandler(getEmployeeDetails).ExceptionResponse();
                return(workbookResponse);
            }
        }