예제 #1
0
        public ActionResult GetShareRateSalaryCostByDept(int pageIndex, string pageSize, ListFilterParam list, string filter = "")
        {
            filter = filter.Replace("!!", "%");
            var db = new ShareRateSalaryCostDAL();

            ViewBag.pageIndex = pageIndex;
            ViewBag.pageSize  = pageSize;
            int?total = 0;
            TableColumnsTotal totalColumns = new TableColumnsTotal();
            var baseListParam = new BaseListParam()
            {
                FilterField  = filter,
                OrderByField = "",
                UserType     = Global.CurrentUser.RoleId,
                UserId       = Global.CurrentUser.UserID,
                DeptId       = Global.CurrentUser.OrganizationUnitID,
                PageIndex    = pageIndex,
                PageSize     = Int32.Parse(pageSize),
                LanguageCode = Global.CurrentUser.CurrentLanguageID.ToString()
            };
            var result = db.GetShareRateSalaryCostByDept(baseListParam, 0, list, out total, out totalColumns);

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

            if (list.filter7 == "1")
            {
                dt.Columns.AddRange(new DataColumn[7]
                {
                    new DataColumn(AppRes.Staff),
                    new DataColumn(AppRes.OrganizationUnit),
                    new DataColumn(AppRes.ShareRate),
                    new DataColumn(AppRes.StartDate),
                    new DataColumn(AppRes.EndDate),
                    new DataColumn(AppRes.Note),
                    new DataColumn(AppRes.Company)
                });
                dt.Columns[0].DataType = typeof(string);
                dt.Columns[1].DataType = typeof(string);
                dt.Columns[2].DataType = typeof(double);
                dt.Columns[3].DataType = typeof(DateTime);
                dt.Columns[4].DataType = typeof(DateTime);
                dt.Columns[5].DataType = typeof(string);
                dt.Columns[6].DataType = typeof(string);
            }
            else
            {
                dt.Columns.AddRange(new DataColumn[6]
                {
                    new DataColumn(AppRes.OrganizationUnit),
                    new DataColumn(AppRes.ShareRate),
                    new DataColumn(AppRes.StartDate),
                    new DataColumn(AppRes.EndDate),
                    new DataColumn(AppRes.Note),
                    new DataColumn(AppRes.Company)
                });
                dt.Columns[0].DataType = typeof(string);
                dt.Columns[1].DataType = typeof(double);
                dt.Columns[2].DataType = typeof(DateTime);
                dt.Columns[3].DataType = typeof(DateTime);
                dt.Columns[4].DataType = typeof(string);
                dt.Columns[5].DataType = typeof(string);
            }
            var db    = new ShareRateSalaryCostDAL();
            int?total = 0;
            TableColumnsTotal totalColumns = new TableColumnsTotal();
            var baseListParam = new BaseListParam()
            {
                FilterField  = filter,
                OrderByField = "",
                UserType     = Global.CurrentUser.RoleId,
                UserId       = Global.CurrentUser.UserID,
                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 = new List <ShareRateSalaryCost>();

            if (list.filter7 == "1")
            {
                lstData = db.GetShareRateSalaryCostByStaff(baseListParam, 1, list, out total, out totalColumns);
            }
            else
            {
                lstData = db.GetShareRateSalaryCostByDept(baseListParam, 1, list, out total, out totalColumns);
            }

            foreach (var item in lstData)
            {
                if (list.filter7 == "1")
                {
                    dt.Rows.Add(
                        item.OrganizationUnitName == null ? "" : item.OrganizationUnitName,
                        item.StaffName == null ? "" : item.StaffName,
                        Double.Parse(String.Format("{0:###0.##}", item.ShareRate)),
                        item.StartDate,
                        item.EndDate,
                        item.Note == null ? "" : item.Note,
                        item.CompanyName == null ? "" : item.CompanyName);
                }
                else
                {
                    dt.Rows.Add(
                        item.OrganizationUnitName == null ? "" : item.OrganizationUnitName,
                        Double.Parse(String.Format("{0:###0.##}", item.ShareRate)),
                        item.StartDate,
                        item.EndDate,
                        item.Note == null ? "" : item.Note,
                        item.CompanyName == null ? "" : item.CompanyName);
                }
            }

            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 "1":
                // code block
                excelName = "Ty le share bao cao chi phi luong theo nhan vien.xlsx";
                break;

            default:
                // code block
                excelName = "Ty le share bao cao chi phi luong theo phong ban.xlsx";
                break;
            }
            return(File(data, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", excelName));
        }