private void btnNewPO_Click(object sender, EventArgs e)
        {
            if (lookUpEdit1 != null)
            {
                var report = new AccomplishmentReportViewModel()
                {
                    DateFrom  = dateEdit1.EditValue.ToDate(),
                    DateTo    = dateEdit2.EditValue.ToDate(),
                    UserId    = ((Users)lookUpEdit1.GetSelectedDataRow())?.Id,
                    PrintedBy = User.GetUserName()
                };
                report.AccomplishmentReport = report.GetAccomplishmentReport();
                frmReportViewer frm = new frmReportViewer()
                {
                    xtraReport = new rptAccomplishmentReport()
                    {
                        DataSource = new List <AccomplishmentReportViewModel>()
                        {
                            report
                        }
                    }
                };

                frm.ShowDialog();
            }
        }
예제 #2
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                if (cboStaff.GetSelectedDataRow() is Users item)
                {
                    AccomplishmentReportViewModel model = new AccomplishmentReportViewModel()
                    {
                        UserId             = item.Id,
                        DateFrom           = dtDateFrom.DateTime,
                        DateTo             = dtDateTo.DateTime.AddHours(11).AddMinutes(59).AddSeconds(59),
                        Office             = item.Offices?.OfficeName,
                        TelNo              = item.Offices?.TelNo,
                        Address            = item.Offices?.Address,
                        NotedBy            = (cboNotedBy.GetSelectedDataRow() as Employees)?.EmployeeName,
                        NotedByPosition    = (cboNotedBy.GetSelectedDataRow() as Employees)?.Position,
                        ReviewedBy         = (cboReviewedBy.GetSelectedDataRow() as Employees)?.EmployeeName,
                        ReviewedByPosition = (cboReviewedBy.GetSelectedDataRow() as Employees)?.Position,
                        PeriodOf           = $"For the period of: {dtDateFrom.DateTime.ToShortDateString()} to {dtDateTo.DateTime.ToShortDateString()}",
                        TableName          = tableName
                    };
                    if (item.Offices?.UnderOfOffice != null)
                    {
                        model.Office = item.Offices?.UnderOfOffice.OfficeName + Environment.NewLine + model.Office;
                    }

                    rptPivotAccomplisment rpt = new rptPivotAccomplisment();


                    Generate(model, rpt);
                    rpt.lblSystemName.Text = footer;
                    frmReportViewer frm = new frmReportViewer(rpt);
                    frm.ShowDialog();
                }
            }
            catch (Exception exception)
            {
            }
        }
예제 #3
0
        void Generate(AccomplishmentReportViewModel model, rptPivotAccomplisment rpt)
        {
            var dtFrom = dtDateFrom.DateTime;
            var dtTo   = dtDateTo.DateTime.AddHours(23).AddMinutes(59).AddSeconds(59);
            var doc    = model.Generate();

            rpt.tblHeader.Rows.Clear();
            XRTableRow xrow = new XRTableRow();

            xrow.Cells.Add(new XRTableCell()
            {
                Text        = "Sub Activity",
                WidthF      = 250.12F,
                BorderWidth = 1f,
                Borders     = DevExpress.XtraPrinting.BorderSide.All
            });
            while (dtFrom <= dtTo)
            {
                xrow.Cells.Add(new XRTableCell()
                {
                    Text          = dtFrom.ToString("dd"),
                    WidthF        = 50f,
                    TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter,
                    BorderWidth   = 1f,
                    Borders       = DevExpress.XtraPrinting.BorderSide.All
                });
                dtFrom = dtFrom.AddDays(1);
            }

            xrow.Cells.Add(new XRTableCell()
            {
                Text          = "Total",
                WidthF        = 50f,
                TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter,
                BorderWidth   = 1f,
                Borders       = DevExpress.XtraPrinting.BorderSide.All
            });
            rpt.tblHeader.Rows.Add(xrow);
            rpt.tblDetails.Rows.Clear();

            foreach (dynamic property in model.AccomplishmentReports)
            {
                xrow = new XRTableRow();
                //rpt.tblDetails.Rows[row].Cells[0].Text = property.SubActivity;


                dtFrom = dtDateFrom.DateTime;
                dtTo   = dtDateTo.DateTime.AddHours(23).AddMinutes(59).AddSeconds(59);
                xrow.Cells.Add(new XRTableCell()
                {
                    Text        = property.SubActivity,
                    WidthF      = 250.12F,
                    BorderWidth = 1f,
                    Borders     = DevExpress.XtraPrinting.BorderSide.All
                });
                int subActivity = property.SubActivityId;
                while (dtFrom <= dtTo)
                {
                    var _from = dtFrom;
                    var _to   = dtFrom.AddHours(23).AddMinutes(59).AddSeconds(59);

                    var xrcell = new XRTableCell()
                    {
                        Text          = doc.Count(x => x.SubActivityId == subActivity && (x.ActionDate >= _from && x.ActionDate <= _to)).ToString("0"),
                        WidthF        = 50f,
                        TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter,
                        BorderWidth   = 1f,
                        Borders       = DevExpress.XtraPrinting.BorderSide.All
                    };
                    if (xrcell.Text == "0")
                    {
                        xrcell.Text = "-";
                    }
                    xrow.Cells.Add(xrcell);
                    dtFrom = dtFrom.AddDays(1);
                }

                xrow.Cells.Add(new XRTableCell()
                {
                    Text          = doc.Count(x => x.SubActivityId == subActivity && (x.ActionDate >= dtDateFrom.DateTime && x.ActionDate <= dtTo)).ToString("0"),
                    WidthF        = 50f,
                    TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter,
                    BorderWidth   = 1f,
                    Borders       = DevExpress.XtraPrinting.BorderSide.All
                });
                rpt.tblDetails.Rows.Add(xrow);
            }
            rpt.DataSource = new object[]
            {
                new
                {
                    NotedBy            = model.NotedBy,
                    NotedByPosition    = model.NotedByPosition,
                    ReviewedBy         = model.ReviewedBy,
                    ReviewedByPosition = model.ReviewedByPosition,
                    DateFrom           = model.DateFrom,
                    DateTo             = model.DateTo,
                    PeriodOf           = model.PeriodOf,

                    EmployeeName     = model.EmployeeName,
                    EmployeePosition = model.EmployeePosition,
                    UserId           = model.UserId,
                    Office           = model.Office,
                    TelNo            = model.TelNo,
                    Address          = model.Address,
                    TableName        = model.TableName
                }
            };
            ;
            //
        }