Пример #1
0
        /// <summary>
        /// Action method to Export data in Excel format.
        /// </summary>
        /// <returns>An action result where the data is being exported.</returns>
        public async Task <IActionResult> ExportToExcelAsync()
        {
            // Gets the list of all Shift users.
            var shiftResponse = await this.GetAllShiftUsersAsync().ConfigureAwait(false);

            // Gets the list of all Kronos users.
            var kronosResonse = await this.GetAllKronosUsersByQueryAsync().ConfigureAwait(false);

            if (kronosResonse != null)
            {
                // Converting the users list to DataTable.
                var exportDt = ConvertModelToDataTable(shiftResponse, kronosResonse);

                string fileName = Resources.KronosShiftUserMappingXML;

                // returning the excel file into browser as stream.
                using (var stream = ExportImportHelper.ExportToExcel(exportDt))
                {
                    return(this.File(stream.ToArray(), Resources.SpreadsheetContentType, fileName));
                }
            }
            else
            {
                return(this.RedirectToAction("Index", "UserMapping").WithErrorMessage(Resources.ErrorNotificationHeaderText, Resources.WorkforceIntegrationNotRegister));
            }
        }
Пример #2
0
        /// <summary>
        /// Method to convert the model to DataTable.
        /// </summary>
        /// <param name="shiftList">List of Shifts users.</param>
        /// <param name="kronosList">List of Kronos users.</param>
        /// <returns>File to browser's response.</returns>
        private static List <DataTable> ConvertModelToDataTable(List <ShiftUser> shiftList, List <KronosUserModel> kronosList)
        {
            DataTable shiftDt  = new DataTable();
            DataTable kronosDt = new DataTable();

            try
            {
                // Setting table names.
                string kronosDtName = "Kronos Users";
                string shiftDtName  = "Shift Users";

                shiftDt  = ExportImportHelper.ToDataTable(shiftList, shiftDtName);
                kronosDt = ExportImportHelper.ToDataTable(kronosList, kronosDtName);

                List <DataTable> listDt = new List <DataTable>()
                {
                    shiftDt,
                    kronosDt,
                };

                return(listDt);
            }
            finally
            {
                if (shiftDt != null)
                {
                    ((IDisposable)shiftDt).Dispose();
                }

                if (kronosDt != null)
                {
                    ((IDisposable)kronosDt).Dispose();
                }
            }
        }
        public object Get(ExportToExcelReport request)
        {
            List <ExportToExcelResult> reportResult = null;

            using (var dbCmd = Db.CreateCommand())
            {
                dbCmd.CommandType    = CommandType.StoredProcedure;
                dbCmd.CommandTimeout = 300;
                dbCmd.CommandText    = "sp_ServerExpotToExcelReport";
                dbCmd.Parameters.Add(new SqlParameter("@SAP_Org_Chart", request.SAP_Org_Chart));
                dbCmd.Parameters.Add(new SqlParameter("@C_BAY", request.C_BAY));
                dbCmd.Parameters.Add(new SqlParameter("@Active", request.Active));
                dbCmd.Parameters.Add(new SqlParameter("@SecurityPassID", request.SecurityPassID));
                dbCmd.Parameters.Add(new SqlParameter("@OrganizationID", request.OrganizationID));
                dbCmd.Parameters.Add(new SqlParameter("@HiringCompanyID", request.HiringCompanyID));
                dbCmd.Parameters.Add(new SqlParameter("@LineManagerID", request.LineManagerID));


                using (var reader = dbCmd.ExecuteReader())
                {
                    reportResult = reader.ConvertToList <ExportToExcelResult>();
                }
                MemoryStream stream = null;
                if (reportResult == null)
                {
                    reportResult = new List <ExportToExcelResult>();
                }
                stream = ExportImportHelper.CreateCSVDocumentWithCaption(reportResult);
                HttpResult res = new HttpResult(stream, HeadcountResource.CSVContentType);
                res.Headers[HttpHeaders.ContentDisposition] = "attachment; filename=Report_" + DateTime.Today.ToString("dd-MMM-yyyy") + ".csv";
                return(res);
            }
        }