private SLDocument CreateDataExcelDetailsVehicle(SLDocument slDocument, VehicleOverallItem Data)
        {
            slDocument.SetCellValue(2, 1, "Police Number    :");
            slDocument.SetCellValue(2, 2, Data.PoliceNumber);

            slDocument.SetCellValue(3, 1, "Chasis Number    :");
            slDocument.SetCellValue(3, 2, Data.ChasisNumber);

            slDocument.SetCellValue(2, 4, "Start Contract   :");
            slDocument.SetCellValue(2, 5, Data.StartContract.HasValue ? Data.StartContract.Value.ToString("dd-MMM-yyyy") : "");

            slDocument.SetCellValue(3, 4, "End Contract     :");
            slDocument.SetCellValue(3, 5, Data.EndContract.HasValue ? Data.EndContract.Value.ToString("dd-MMM-yyyy"):"");

            int iRow = 6; //starting row data

            foreach (var data in Data.DetailsHistory)
            {
                slDocument.SetCellValue(iRow, 1, data.Date.HasValue ? data.Date.Value.ToString("dd-MMM-yyyy") : "");
                slDocument.SetCellValue(iRow, 2, data.Employee);
                slDocument.SetCellValue(iRow, 3, data.Description);
                //slDocument.SetCellValue(iRow, 4, data.EmployeeId);
                //slDocument.SetCellValue(iRow, 5, data.EmployeeName);
                //slDocument.SetCellValue(iRow, 6, data.CostCenter);
                //slDocument.SetCellValue(iRow, 7, data.Manufacture);
                //slDocument.SetCellValue(iRow, 8, data.Models);
                //slDocument.SetCellValue(iRow, 9, data.Series);
                //slDocument.SetCellValue(iRow, 10, data.Transmission);
                //slDocument.SetCellValue(iRow, 11, data.BodyType);
                //slDocument.SetCellValue(iRow, 12, data.FuelType);
                //slDocument.SetCellValue(iRow, 13, data.Branding);
                //slDocument.SetCellValue(iRow, 14, data.Colour);
                //slDocument.SetCellValue(iRow, 15, data.Airbag);
                //slDocument.SetCellValue(iRow, 16, data.Abs);
                //slDocument.SetCellValue(iRow, 17, data.VehicleType);
                //slDocument.SetCellValue(iRow, 18, data.StartContract.HasValue ? data.StartContract.Value.ToString("dd-MMM-yyyy") : "");
                //slDocument.SetCellValue(iRow, 19, data.EndContract.HasValue ? data.EndContract.Value.ToString("dd-MMM-yyyy") : "");
                //slDocument.SetCellValue(iRow, 20, data.Vendor);
                //slDocument.SetCellValue(iRow, 21, data.AssetsNumber);
                //slDocument.SetCellValue(iRow, 22, data.City);
                //slDocument.SetCellValue(iRow, 23, data.SupplyMethod);
                //slDocument.SetCellValue(iRow, 24, data.TerminationDate.HasValue ? data.TerminationDate.Value.ToString("yyyy-MMM-dd") : "");
                //slDocument.SetCellValueNumeric(iRow, 25, data.MonthlyInstallment.HasValue ? data.MonthlyInstallment.Value.ToString() : "");
                //slDocument.SetCellValueNumeric(iRow, 26, data.Vat.HasValue ? data.Vat.Value.ToString() : "");
                //slDocument.SetCellValueNumeric(iRow, 27, data.TotalMonthlyInstallment.HasValue ? data.TotalMonthlyInstallment.Value.ToString() : "");
                //slDocument.SetCellValue(iRow, 28, data.PoNumber);
                //slDocument.SetCellValue(iRow, 29, data.PoLine);
                //slDocument.SetCellValue(iRow, 30, data.Function);
                //slDocument.SetCellValue(iRow, 31, data.Regional);
                //slDocument.SetCellValue(iRow, 32, data.VehicleStatus == true ? "Active" : "InActive");
                iRow++;
            }
            slDocument.AutoFitColumn(1, 5);

            return(slDocument);
        }
        private string CreateXlsDetailsVehicle(VehicleOverallItem model)
        {
            //get data
            var filter = new VehicleOverallSearchView();
            var data   = GetVehicleData(filter).Where(x => (x.ChasisNumber == null ? "" : x.ChasisNumber.ToUpper()) == (model.ChasisNumber == null ? "" : model.ChasisNumber.ToUpper())).FirstOrDefault();

            data.MainMenu     = _mainMenu;
            data.CurrentLogin = CurrentUser;

            var History = _fleetBLL.GetFleet().Where(x => (x.ChasisNumber == null ? "" : x.ChasisNumber.ToUpper()) == (data.ChasisNumber == null ? "" : data.ChasisNumber.ToUpper()) &&
                                                     (x.PoliceNumber == null ? "" : x.PoliceNumber.ToUpper()) == (data.PoliceNumber == null ? "" : data.PoliceNumber.ToUpper()) &&
                                                     x.StartContract == data.StartContract && x.EndContract == data.EndContract).GroupBy(x => x.CreatedDate)
                          .Select(x => new VehicleHistory
            {
                Employee = x.First().EmployeeName,
                Date     = x.First().CreatedDate
                           //Description = x.First().VehicleStatus
            }).OrderBy(x => x.Date).ToList();

            data.DetailsHistory = new List <VehicleHistory>();
            if (History != null && History.Count > 0)
            {
                data.DetailsHistory = History;
            }

            var slDocument = new SLDocument();

            //title
            slDocument.SetCellValue(1, 1, "DETAILS VEHICLE REPORT");
            slDocument.MergeWorksheetCells(1, 1, 1, 5);
            //create style
            SLStyle valueStyle = slDocument.CreateStyle();

            valueStyle.SetHorizontalAlignment(HorizontalAlignmentValues.Center);
            valueStyle.Font.Bold     = true;
            valueStyle.Font.FontSize = 18;
            slDocument.SetCellStyle(1, 1, valueStyle);

            //create header
            slDocument = CreateHeaderDetailsVehicle(slDocument);

            //create data
            slDocument = CreateDataExcelDetailsVehicle(slDocument, data);

            var fileName = "Vehicle_report" + DateTime.Now.ToString("_yyyyMMddHHmmss") + ".xlsx";
            var path     = Path.Combine(Server.MapPath(Constans.UploadPath), fileName);

            slDocument.SaveAs(path);

            return(path);
        }
        //------------------------------------------------------------------------------------------

        public void ExportDetailsVehicle(VehicleOverallItem model)
        {
            string pathFile = "";

            pathFile = CreateXlsDetailsVehicle(model);

            var newFile = new FileInfo(pathFile);

            var fileName = Path.GetFileName(pathFile);

            string attachment = string.Format("attachment; filename={0}", fileName);

            Response.Clear();
            Response.AddHeader("content-disposition", attachment);
            Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            Response.WriteFile(newFile.FullName);
            Response.Flush();
            newFile.Delete();
            Response.End();
        }