private void SaveFile(string folderPath)
 {
     try
     {
         DateTime startDate = DateTime.Now;
         bool     check     = WriteReportHelper.WriteCsv(folderPath);
         TimeSpan timeSpan  = DateTime.Now - startDate;
         if (check)
         {
             mainStatus.Invoke(new MethodInvoker(delegate
             {
                 tssCreateReportInfo.Text      = $"Save report to file be successful, total time save: {timeSpan.TotalSeconds.ToString()}(s)";
                 tssCreateReportInfo.BackColor = Color.Green;
                 tssCreateReportInfo.ForeColor = Color.White;
             }));
         }
         else
         {
             mainStatus.Invoke(new MethodInvoker(delegate
             {
                 tssCreateReportInfo.Text      = $"Save report to file be Failure";
                 tssCreateReportInfo.BackColor = Color.Red;
                 tssCreateReportInfo.ForeColor = Color.White;
             }));
         }
     }
     catch (Exception ex)
     {
         mainStatus.Invoke(new MethodInvoker(delegate
         {
             tssCreateReportInfo.Text      = $"Save report to file be Failure";
             tssCreateReportInfo.BackColor = Color.Red;
             tssCreateReportInfo.ForeColor = Color.White;
         }));
     }
 }
        private void ExportToExcel(string folderPath)
        {
            try
            {
                statusMain.Invoke(new MethodInvoker(delegate
                {
                    lbOperation.Text = "Starting Export...";
                }));

                bool check = WriteReportHelper.WriteExcelConvertToUnsign(dataLoad, folderPath);
                statusMain.Invoke(new MethodInvoker(delegate
                {
                    lbOperation.Text = "Export data is finish";
                }));
            }
            catch (Exception ex)
            {
                pcloader.Invoke(new MethodInvoker(delegate
                {
                    pcloader.Visible = false;
                }));
                MessageBox.Show(ex.ToString());
            }
        }
Example #3
0
        private async void ExportToExcel(string filePath)
        {
            try
            {
                #region Load data
                List <WorkViewModel> md = new List <WorkViewModel>();
                //totalPage = 1;
                //int PageIndex = 0;
                GetWorkPagingRequest re = new GetWorkPagingRequest();
                re.SOCIETY   = "VCPMC";
                re.PageSize  = Core.LimitRequestWork;
                re.PageIndex = 1;
                var ms = await controller.TotalGetAllPaging(re);

                if (ms.TotalRecordes == 0)
                {
                    statusMain.Invoke(new MethodInvoker(delegate
                    {
                        lbOperation.Text = "data empty, not data VCPMC for export";
                    }));
                    return;
                }
                else
                {
                    //if (ms.TotalRecordes % request.PageSize == 0)
                    //{
                    //    totalPage = ms.TotalRecordes / re.PageSize;
                    //}
                    //else
                    //{
                    //    totalPage = ms.TotalRecordes / re.PageSize + 1;
                    //}
                }
                statusMain.Invoke(new MethodInvoker(delegate
                {
                    progressBarImport.Value = 0;
                    lbPercent.Text          = "0%";
                }));
                statusMain.Invoke(new MethodInvoker(delegate
                {
                    lbOperation.Text = "Wating load data from server...";
                }));
                int serial = 0;
                //for (int i = 0; i < totalPage; i++)
                //{
                //    serial++;
                //    re.PageIndex = serial;
                //    var data = await controller.GetAllPaging(re);
                //    if (data == null || data.ResultObj == null || data.ResultObj.Items == null || data.ResultObj.Items.Count == 0 || filepath == string.Empty)
                //    {
                //        statusMain.Invoke(new MethodInvoker(delegate
                //        {
                //            lbOperation.Text = "Load data from server is error";
                //        }));
                //        return;
                //    }
                //    else
                //    {
                //        foreach (var item in data.ResultObj.Items)
                //        {
                //            md.Add(item);
                //        }
                //    }
                //    statusMain.Invoke(new MethodInvoker(delegate
                //    {
                //        if (serial > totalPage) serial = totalPage;
                //        float values = (float)(i + 1) / (float)totalPage * 100;
                //        progressBarImport.Value = (int)values;
                //        lbPercent.Text = $"{((int)values).ToString()}%";
                //    }));
                //}
                if (md.Count == 0)
                {
                    statusMain.Invoke(new MethodInvoker(delegate
                    {
                        lbOperation.Text = "data empty, not data VCPMC for export";
                    }));
                    return;
                }
                #endregion

                #region export
                //var dataExport = data.ResultObj.Items.Where()
                statusMain.Invoke(new MethodInvoker(delegate
                {
                    progressBarImport.Value = 0;
                    lbPercent.Text          = "0%";
                }));
                statusMain.Invoke(new MethodInvoker(delegate
                {
                    lbOperation.Text = "Export to excel...";
                }));
                int      pos       = filePath.LastIndexOf('.');
                string   x1        = filePath.Substring(0, pos);
                string   x2        = filePath.Substring(pos + 1, filePath.Length - pos - 1);
                string[] file      = new string[] { x1, x2 };
                string   path      = string.Empty;
                string   name      = string.Empty;
                string   extension = string.Empty;
                if (file != null && file.Length > 1)
                {
                    extension = file[1];
                    int a = file[0].LastIndexOf("\\");
                    if (a > 2)
                    {
                        path = file[0].Substring(0, a);
                        name = file[0].Substring(a + 1, file[0].Length - a - 1);
                    }
                }
                if (path.Length > 0 && name.Length > 0 && extension.Length > 0)
                {
                    int totalFile = 0;
                    if (md.Count % Core.LimitDisplayExportExcel == 0)
                    {
                        totalFile = md.Count / Core.LimitDisplayExportExcel;
                    }
                    else
                    {
                        totalFile = md.Count / Core.LimitDisplayExportExcel + 1;
                    }
                    serial = 0;
                    int index = 0;
                    while (index < md.Count)
                    {
                        serial++;
                        var datax = md.Skip(index).Take(Core.LimitDisplayExportExcel).ToList();
                        index += Core.LimitDisplayExportExcel;
                        bool check = WriteReportHelper.ExportWork(datax, $"{path}\\{name}-{serial.ToString().PadLeft(3, '0')}.{extension}");
                        datax = null;
                        GC.Collect();
                        statusMain.Invoke(new MethodInvoker(delegate
                        {
                            if (serial > totalFile)
                            {
                                serial = totalFile;
                            }
                            float values            = (float)serial / (float)totalFile * 100;
                            progressBarImport.Value = (int)values;
                            lbPercent.Text          = $"{((int)values).ToString()}%";
                        }));
                    }
                }
                statusMain.Invoke(new MethodInvoker(delegate
                {
                    lbOperation.Text = "Export to excel be finish";
                }));
                toolMain.Invoke(new MethodInvoker(delegate
                {
                    btnExport.Enabled = true;
                }));

                statusMain.Invoke(new MethodInvoker(delegate
                {
                    progressBarImport.Value = 100;
                }));
                #endregion
            }
            catch (Exception)
            {
                statusMain.Invoke(new MethodInvoker(delegate
                {
                    lbOperation.Text = "Export data from server is error";
                }));
            }
        }
        private void ExportToExcel(string filePath)
        {
            try
            {
                #region export
                if (data == null || data.IsSuccessed == false || data.ResultObj == null || data.ResultObj.Items.Count == 0)
                {
                    statusMain.Invoke(new MethodInvoker(delegate
                    {
                        lbOperation.Text = "Data is empty, so not export to excel";
                    }));
                    return;
                }
                //var dataExport = data.ResultObj.Items.Where()
                statusMain.Invoke(new MethodInvoker(delegate
                {
                    progressBarImport.Value = 0;
                    lbPercent.Text          = "0%";
                }));
                statusMain.Invoke(new MethodInvoker(delegate
                {
                    lbOperation.Text = "Export to excel...";
                }));
                int      pos       = filePath.LastIndexOf('.');
                string   x1        = filePath.Substring(0, pos);
                string   x2        = filePath.Substring(pos + 1, filePath.Length - pos - 1);
                string[] file      = new string[] { x1, x2 };
                string   path      = string.Empty;
                string   name      = string.Empty;
                string   extension = string.Empty;
                if (file != null && file.Length > 1)
                {
                    extension = file[1];
                    int a = file[0].LastIndexOf("\\");
                    if (a > 2)
                    {
                        path = file[0].Substring(0, a);
                        name = file[0].Substring(a + 1, file[0].Length - a - 1);
                    }
                }
                if (path.Length > 0 && name.Length > 0 && extension.Length > 0)
                {
                    int totalFile = 0;
                    if (data.ResultObj.Items.Count % Core.LimitDisplayExportExcel == 0)
                    {
                        totalFile = data.ResultObj.Items.Count / Core.LimitDisplayExportExcel;
                    }
                    else
                    {
                        totalFile = data.ResultObj.Items.Count / Core.LimitDisplayExportExcel + 1;
                    }
                    int serial = 0;
                    int index  = 0;
                    while (index < data.ResultObj.Items.Count)
                    {
                        serial++;
                        var datax = data.ResultObj.Items.Skip(index).Take(Core.LimitDisplayExportExcel).ToList();
                        index += Core.LimitDisplayExportExcel;
                        bool check = WriteReportHelper.ExportMember(datax, $"{path}\\{name}-{serial.ToString().PadLeft(3, '0')}.{extension}");
                        datax = null;
                        GC.Collect();
                        statusMain.Invoke(new MethodInvoker(delegate
                        {
                            if (serial > totalFile)
                            {
                                serial = totalFile;
                            }
                            float values            = (float)serial / (float)totalFile * 100;
                            progressBarImport.Value = (int)values;
                            lbPercent.Text          = $"{((int)values).ToString()}%";
                        }));
                    }
                }
                statusMain.Invoke(new MethodInvoker(delegate
                {
                    lbOperation.Text = "Export to excel be finish";
                }));
                toolMain.Invoke(new MethodInvoker(delegate
                {
                    btnExport.Enabled = true;
                }));

                statusMain.Invoke(new MethodInvoker(delegate
                {
                    progressBarImport.Value = 100;
                }));
                #endregion
            }
            catch (Exception)
            {
                statusMain.Invoke(new MethodInvoker(delegate
                {
                    lbOperation.Text = "Export to excel is error!";
                }));
            }
        }
        private void ExportToExcel(string filePath)
        {
            if (dataLoad == null || dataLoad.Count == 0 || filepath == string.Empty)
            {
                return;
            }
            statusMain.Invoke(new MethodInvoker(delegate
            {
                progressBarImport.Value = 0;
                lbPercent.Text          = "0%";
            }));
            statusMain.Invoke(new MethodInvoker(delegate
            {
                lbOperation.Text = "Export to excel...";
            }));
            int    pos = filePath.LastIndexOf('.');
            string x1  = filePath.Substring(0, pos);
            string x2  = filePath.Substring(pos + 1, filePath.Length - pos - 1);

            string[] file      = new string[] { x1, x2 };
            string   path      = string.Empty;
            string   name      = string.Empty;
            string   extension = string.Empty;

            if (file != null && file.Length > 1)
            {
                extension = file[1];
                int a = file[0].LastIndexOf("\\");
                if (a > 2)
                {
                    path = file[0].Substring(0, a);
                    name = file[0].Substring(a + 1, file[0].Length - a - 1);
                }
            }
            if (path.Length > 0 && name.Length > 0 && extension.Length > 0)
            {
                int totalFile = 0;
                if (dataLoad.Count % Core.LimitDisplayExportExcel == 0)
                {
                    totalFile = dataLoad.Count / Core.LimitDisplayExportExcel;
                }
                else
                {
                    totalFile = dataLoad.Count / Core.LimitDisplayExportExcel + 1;
                }
                int serial = 0;
                int index  = 0;
                while (index < dataLoad.Count)
                {
                    serial++;
                    var datax = dataLoad.Skip(index).Take(Core.LimitDisplayExportExcel).ToList();
                    index += Core.LimitDisplayExportExcel;
                    string pathFull = $"{path}\\{name}-{serial.ToString().PadLeft(3, '0')}.{extension}";
                    bool   check    = WriteReportHelper.ExportPreClaimMatching(datax, pathFull);
                    datax = null;
                    GC.Collect();
                    statusMain.Invoke(new MethodInvoker(delegate
                    {
                        if (serial > totalFile)
                        {
                            serial = totalFile;
                        }
                        float values            = (float)serial / (float)totalFile * 100;
                        progressBarImport.Value = (int)values;
                        lbPercent.Text          = $"{((int)values).ToString()}%";
                    }));
                }
            }
            statusMain.Invoke(new MethodInvoker(delegate
            {
                lbOperation.Text = "Export to excel be finish";
            }));
            toolMain.Invoke(new MethodInvoker(delegate
            {
                btnExport.Enabled = true;
            }));

            statusMain.Invoke(new MethodInvoker(delegate
            {
                progressBarImport.Value = 100;
            }));
        }