Ejemplo n.º 1
0
        public ActionResult TableServerSideGetData(int pageIndex, string pageSize, ListFilterParam list, string filter = "")
        {
            filter = filter.Replace("!!", "%");
            var db = new ReportIncreaseSpendingDAL();

            ViewBag.pageIndex = pageIndex;
            ViewBag.pageSize  = pageSize;
            int?total = 0;

            if (list.filter7 == "1" && filter.Split('=').Count() > 1)
            {
                filter = filter.Replace(filter.Split('=')[filter.Split('=').Count() - 1], "1");
            }
            TableColumnsTotal totalColumns = new TableColumnsTotal();
            var baseListParam = new BaseListParam()
            {
                FilterField  = filter,
                OrderByField = "",
                UserType     = Global.CurrentUser.RoleId,
                UserId       = Global.CurrentUser.LoginUserId,
                DeptId       = Global.CurrentUser.OrganizationUnitID,
                PageIndex    = pageIndex,
                PageSize     = Int32.Parse(pageSize),
                LanguageCode = Global.CurrentUser.CurrentLanguageID.ToString()
            };
            var result = db.GetReportIncreaseSpending(baseListParam, list, out total, out totalColumns);

            return(Content(JsonConvert.SerializeObject(new
            {
                employees = result,
                totalCount = total,
                lstTotal = totalColumns,
                userid = baseListParam.UserId
            })));
        }
Ejemplo n.º 2
0
        public ActionResult ExportExcel(int pageIndex, int pageSize, ListFilterParam list, string filter = "")
        {
            filter = filter.Replace("!!", "%");
            DataTable dt = new DataTable("Grid");

            if (list.filter7 == "2")
            {
                dt.Columns.AddRange(new DataColumn[8]
                {
                    new DataColumn(AppRes.DeptName),
                    new DataColumn(AppRes.Staff),
                    new DataColumn(AppRes.AssignedSpending),
                    new DataColumn(AppRes.SpendingInMonth),
                    new DataColumn(AppRes.IncreaseSpending),
                    new DataColumn(AppRes.SpendingIncreasedStandard),
                    new DataColumn(AppRes.CompletionRate),
                    new DataColumn(AppRes.StaffStatus)
                });
                dt.Columns[0].DataType = typeof(string);
                dt.Columns[1].DataType = typeof(string);
                dt.Columns[2].DataType = typeof(double);
                dt.Columns[3].DataType = typeof(double);
                dt.Columns[4].DataType = typeof(double);
                dt.Columns[5].DataType = typeof(double);
                dt.Columns[6].DataType = typeof(double);
                dt.Columns[7].DataType = typeof(string);
            }
            else
            {
                dt.Columns.AddRange(new DataColumn[6]
                {
                    new DataColumn(AppRes.DeptName),
                    new DataColumn(AppRes.AssignedSpending),
                    new DataColumn(AppRes.SpendingInMonth),
                    new DataColumn(AppRes.IncreaseSpending),
                    new DataColumn(AppRes.SpendingIncreasedStandard),
                    new DataColumn(AppRes.CompletionRate)
                });
                dt.Columns[0].DataType = typeof(string);
                dt.Columns[1].DataType = typeof(double);
                dt.Columns[2].DataType = typeof(double);
                dt.Columns[3].DataType = typeof(double);
                dt.Columns[4].DataType = typeof(double);
                dt.Columns[5].DataType = typeof(double);
            }
            var db    = new ReportIncreaseSpendingDAL();
            int?total = 0;
            TableColumnsTotal totalColumns = new TableColumnsTotal();
            var baseListParam = new BaseListParam()
            {
                FilterField  = filter,
                OrderByField = "",
                UserType     = Global.CurrentUser.RoleId,
                UserId       = Global.CurrentUser.LoginUserId,
                DeptId       = Global.CurrentUser.OrganizationUnitID,
                LanguageCode = Global.CurrentUser.CurrentLanguageID.ToString()
            };

            list.FromDate = Convert.ToDateTime(DateTime.ParseExact(list.StringFromDate, "dd-MM-yyyy HH:mm:ss", CultureInfo.InvariantCulture));
            list.ToDate   = Convert.ToDateTime(DateTime.ParseExact(list.StringToDate, "dd-MM-yyyy HH:mm:ss", CultureInfo.InvariantCulture));
            var lstData = db.ExportReportIncreaseSpending(baseListParam, list, out total, out totalColumns);

            foreach (var item in lstData)
            {
                if (list.filter7 == "2")
                {
                    dt.Rows.Add(
                        item.OrganizationUnitName == null ? "" : item.OrganizationUnitName,
                        item.StaffName == null ? "" : item.StaffName,
                        item.AssignedSpending == null ? 0 : item.AssignedSpending,
                        item.SpendingInMonth == null ? 0 : item.SpendingInMonth,
                        item.IncreaseSpending == null ? 0 : item.IncreaseSpending,
                        item.SpendingIncreasedStandard == null ? 0 : item.SpendingIncreasedStandard,
                        item.CompletionRate == null ? 0 : item.CompletionRate,
                        item.StaffStatus == null ? "" : item.StaffStatus);
                }
                else
                {
                    dt.Rows.Add(
                        item.OrganizationUnitName == null ? "" : item.OrganizationUnitName,
                        item.AssignedSpending == null ? 0 : item.AssignedSpending,
                        item.SpendingInMonth == null ? 0 : item.SpendingInMonth,
                        item.IncreaseSpending == null ? 0 : item.IncreaseSpending,
                        item.SpendingIncreasedStandard == null ? 0 : item.SpendingIncreasedStandard,
                        item.CompletionRate == null ? 0 : item.CompletionRate);
                }
            }

            var wb = new XLWorkbook();

            wb.Worksheets.Add(dt);
            byte[] data = null;
            using (var stream = new MemoryStream())
            {
                wb.SaveAs(stream);
                data = stream.ToArray();
            }
            var excelName = "";

            switch (list.filter7)
            {
            case "2":
                // code block
                excelName = "ReportIncreaseSpending.xlsx";
                break;

            case "1":
                // code block
                excelName = "ReportIncreaseSpendingByDepartment.xlsx";
                break;
            }
            return(File(data, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", excelName));
        }