/// <summary> /// Init setting window /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void InitWindow(object sender, DirectEventArgs e) { try { // init id var param = e.ExtraParams["Id"]; // parse id if (int.TryParse(param, out var id)) { // init window props if (id > 0) { // edit wdSetting.Title = @"Sửa"; wdSetting.Icon = Icon.Pencil; } else { // insert wdSetting.Title = @"Thêm mới"; wdSetting.Icon = Icon.Add; } // init id hdfId.Text = id.ToString(); // init object var model = new ReportDynamicModel(null); // check id if (id > 0) { var result = ReportDynamicController.GetById(id); if (result != null) { model = result; } } // set props txtName.Text = model.Name; txtDescription.Text = model.Description; hdfReportTemplate.Text = ((int)model.Template).ToString(); cboReportTemplate.Text = model.TemplateName; hdfReportPaperKind.Text = ((int)model.PaperKind).ToString(); cboReportPaperKind.Text = model.PaperKindName; hdfReportOrientation.Text = ((int)model.Orientation).ToString(); cboReportOrientation.Text = model.OrientationName; hdfGroupHeader1.Text = ((int)model.GroupHeader1).ToString(); cboGroupHeader1.Text = model.GroupHeaderName1; hdfGroupHeader2.Text = ((int)model.GroupHeader2).ToString(); cboGroupHeader2.Text = model.GroupHeaderName2; hdfGroupHeader3.Text = ((int)model.GroupHeader3).ToString(); cboGroupHeader3.Text = model.GroupHeaderName3; txtParentDepartment.Text = model.ParentDepartment; txtDepartment.Text = model.Department; txtTitle.Text = model.Title; txtDuration.Text = model.Duration; txtCreatedByTitle.Text = model.CreatedByTitle; txtCreatedByNote.Text = model.CreatedByNote; txtCreatedByName.Text = model.CreatedByName; txtReviewedByTitle.Text = model.ReviewedByTitle; txtReviewedByNote.Text = model.ReviewedByNote; txtReviewedByName.Text = model.ReviewedByName; txtSignedByTitle.Text = model.SignedByTitle; txtSignedByNote.Text = model.SignedByNote; txtSignedByName.Text = model.SignedByName; hdfStatus.Text = ((int)model.Status).ToString(); cboStatus.Text = model.StatusName; // show window wdSetting.Show(); } } catch (Exception exception) { Dialog.ShowError(exception); } }
/// <summary> /// Insert or Update Catalog /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void InsertOrUpdate(object sender, DirectEventArgs e) { try { // init entity var model = new ReportDynamicModel(null); // check id if (!string.IsNullOrEmpty(hdfId.Text) && Convert.ToInt32(hdfId.Text) > 0) { var result = ReportDynamicController.GetById(Convert.ToInt32(hdfId.Text));; if (result != null) { model = result; } } // set new props for entity model.Name = txtName.Text; model.Description = txtDescription.Text; model.Template = (ReportTemplate)Convert.ToInt32(hdfReportTemplate.Text); model.PaperKind = (ReportPaperKind)Convert.ToInt32(hdfReportPaperKind.Text); model.Orientation = (ReportOrientation)Convert.ToInt32(hdfReportOrientation.Text); model.GroupHeader1 = (ReportGroupHeader)Convert.ToInt32(hdfGroupHeader1.Text); model.GroupHeader2 = (ReportGroupHeader)Convert.ToInt32(hdfGroupHeader2.Text); model.GroupHeader3 = (ReportGroupHeader)Convert.ToInt32(hdfGroupHeader3.Text); model.ParentDepartment = txtParentDepartment.Text; model.Department = txtDepartment.Text; model.Title = txtTitle.Text; model.Duration = txtDuration.Text; model.CreatedByTitle = txtCreatedByTitle.Text; model.CreatedByNote = txtCreatedByNote.Text; model.CreatedByName = txtCreatedByName.Text; model.ReviewedByTitle = txtReviewedByTitle.Text; model.ReviewedByNote = txtReviewedByNote.Text; model.ReviewedByName = txtReviewedByName.Text; model.SignedByTitle = txtSignedByTitle.Text; model.SignedByNote = txtSignedByNote.Text; model.SignedByName = txtSignedByName.Text; model.Status = (ReportStatus)Convert.ToInt32(hdfStatus.Text); // parse report source to json if (!string.IsNullOrEmpty(hdfReportSource.Text)) { var payrollConfigId = Convert.ToInt32(hdfReportSource.Text); switch (model.Template) { case ReportTemplate.EnterprisePayroll: var payrollConfigs = SalaryBoardConfigController.GetAll(payrollConfigId, true, null, null, null, "[ColumnCode]", null); var lstItemModel = new List <ListItemModel>(); lstItemModel.Add(new ListItemModel("FullName", "FullName")); lstItemModel.Add(new ListItemModel("EmployeeCode", "EmployeeCode")); lstItemModel.Add(new ListItemModel("PositionName", "PositionName")); lstItemModel.AddRange(payrollConfigs.Select(c => new ListItemModel(c.ColumnCode, c.ColumnCode))); model.ReportSource = JSON.Serialize(lstItemModel); model.Argument = payrollConfigId.ToString(); break; } } // check entity id if (model.Id > 0) { // update ReportDynamicController.Update(model); } else { // insert ReportDynamicController.Create(model); } // hide window wdSetting.Hide(); // reload data gpReport.Reload(); } catch (Exception exception) { Dialog.ShowError(exception); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void DuplicateData(object sender, DirectEventArgs e) { try { // init model var reportDynamic = new ReportDynamicModel(null); var reportColumns = new List <ReportColumnModel>(); // check id if (!string.IsNullOrEmpty(hdfId.Text) && Convert.ToInt32(hdfId.Text) > 0) { var resultReportDynamic = ReportDynamicController.GetById(Convert.ToInt32(hdfId.Text)); if (resultReportDynamic != null) { reportDynamic = resultReportDynamic; var resultReportColumn = ReportColumnController.GetAll(null, resultReportDynamic.Id, null, null, null, null, false, null, null); if (resultReportColumn != null) { reportColumns = resultReportColumn; } } } // create duplicated report dynamic reportDynamic.Name += " - Copy"; reportDynamic.CreatedDate = DateTime.Now; reportDynamic.CreatedBy = CurrentUser.User.UserName; reportDynamic.EditedDate = DateTime.Now; reportDynamic.EditedBy = CurrentUser.User.UserName; var newReportDynamic = ReportDynamicController.Create(reportDynamic); // create list id var ids = new Dictionary <int, int>(); // create list old parent id var parentIds = new List <int>(); // create list new report column var newReportColumns = new List <ReportColumnModel>(); // create duplicated report columns foreach (var reportColumn in reportColumns) { var oldParentId = reportColumn.ParentId; // reportColumn.ReportId = newReportDynamic.Id; reportColumn.CreatedDate = DateTime.Now; reportColumn.CreatedBy = CurrentUser.User.UserName; reportColumn.EditedDate = DateTime.Now; reportColumn.EditedBy = CurrentUser.User.UserName; reportColumn.ParentId = 0; // create new column var newReportColumn = ReportColumnController.Create(reportColumn); // add new column to list newReportColumns.Add(newReportColumn); // add pair of old and new id to list var oldId = reportColumn.Id; var newId = newReportColumn.Id; ids.Add(oldId, newId); // add item to list parent id parentIds.Add(oldParentId); } // update parentId for (var i = 0; i < newReportColumns.Count; i++) { // set parent id foreach (var id in ids) { if (parentIds[i] == id.Key) { newReportColumns[i].ParentId = id.Value; } } // update column ReportColumnController.Update(newReportColumns[i]); } gpReport.Reload(); } catch (Exception ex) { Dialog.ShowError(ex); } }
/// <summary> /// /// </summary> /// <returns></returns> private XtraReport InitPayrollReport(ReportDynamicModel report) { // check payroll config id if (!int.TryParse(report.Argument, out var payrollConfigId) || payrollConfigId <= 0) { // invalid argument return(null); } // set current payroll config id hdfPayrollConfigId.Text = payrollConfigId.ToString(); // check payroll id if (!int.TryParse(hdfPayrollId.Text, out var payrollId) || payrollId <= 0) { // get last payroll var payrolls = PayrollController.GetAll(null, payrollConfigId, hdfSelectedDepartmentIds.Text, null, null, null, false, null, 1); // check result if (payrolls.Count > 0) { // set current payroll id hdfPayrollId.Text = payrolls.First().Id.ToString(); // payroll selected cboPayroll.Text = payrolls.First().Title; } else { // no payroll found return(null); } } else { // get payroll by id var payroll = PayrollController.GetById(payrollId); if (payroll != null) { // get month and year var payrollMonth = payroll.Month; var payrollYear = payroll.Year; // set payroll start date report.StartDate = new DateTime(payrollYear, payrollMonth, 1); // set payroll end date report.EndDate = new DateTime(payrollYear, payrollMonth, DateTime.DaysInMonth(payrollYear, payrollMonth)); // payroll selected cboPayroll.Text = payroll.Title; } else { // no payroll found return(null); } } // init payroll report XtraReport rpHRM_Payroll = new rpHRM_Payroll_A4_Landscape(report.Id, payrollId); // check paper kind and orientation switch (report.PaperKind) { case ReportPaperKind.A4: switch (report.Orientation) { case ReportOrientation.Landscape: rpHRM_Payroll = new rpHRM_Payroll_A4_Landscape(report.Id, payrollId); break; case ReportOrientation.Portrait: rpHRM_Payroll = new rpHRM_Payroll_A4_Potrait(report.Id, payrollId); break; } break; case ReportPaperKind.A3: switch (report.Orientation) { case ReportOrientation.Landscape: rpHRM_Payroll = new rpHRM_Payroll_A3_Landscape(report.Id, payrollId); break; case ReportOrientation.Portrait: rpHRM_Payroll = new rpHRM_Payroll_A3_Potrait(report.Id, payrollId); break; } break; case ReportPaperKind.A2: switch (report.Orientation) { case ReportOrientation.Landscape: rpHRM_Payroll = new rpHRM_Payroll_A2_Landscape(report.Id, payrollId); break; case ReportOrientation.Portrait: rpHRM_Payroll = new rpHRM_Payroll_A2_Landscape(report.Id, payrollId); break; } break; } // init extra report return(rpHRM_Payroll); }