Esempio n. 1
0
        /// <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);
            }
        }
Esempio n. 2
0
        /// <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);
            }
        }
Esempio n. 3
0
        /// <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);
            }
        }
Esempio n. 4
0
        /// <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);
        }