Example #1
0
 public MonthlyReport(DateTime d1, DateTime d2)
 {
     this.months = new List<Month>();
     SetDataMonthlyReport(d1, d2);
     this.ItogItem = new Month();
     this.ItogItem.NameMonth = "ИТОГО:";
     this.CalculateItogItem();
 }
Example #2
0
        private void SetDataMonthlyReport(DateTime d1, DateTime d2)
        {
            var resumes = (from R in ugtu_db.Resume
                           where R.DataPrinytiya < d2 && R.DataPrinytiya > d1
                           select new
                           {
                               idResume = R.idResume,
                               idStatus = R.idStatus,
                               DataPrinyatiya = R.DataPrinytiya,
                               DataZakritiya = R.DataZakritiya,
                               CZS = R.UstroenCZS
                           }).ToList();
            var ParamRes = (from r in resumes
                            join PR in ugtu_db.Param_Resume on r.idResume equals PR.idResume
                            select new
                            {
                                idResume = r.idResume,
                                idStatus = r.idStatus,
                                DataPrinyatiya = r.DataPrinyatiya,
                                DataZakritiya = r.DataZakritiya,
                                idParam = PR.idParam,
                                idResumeZnachParam = PR.idResumeZnachParam,
                                CZS = r.CZS

                            }).ToList();
            var vakans = (from V in ugtu_db.Vakans
                          where V.DataPostVakans < d2 && V.DataPostVakans > d1
                          select new
                          {
                              idVakans = V.idVakans,
                              idStatus = V.idStatus,
                              DataPrinyatiya = V.DataPostVakans,
                              DataObzvon = V.DataObzvon
                          }).ToList();
            var ParamVak = (from v in vakans
                            join PV in ugtu_db.Param_Vakans on v.idVakans equals PV.idVakans
                            select new
                            {
                                idVakans = v.idVakans,
                                idStatus = v.idStatus,
                                DataPrinyatiya = v.DataPrinyatiya,
                                DataObzvon = v.DataObzvon,
                                idParam = PV.idParam,
                                idParamZnachVakans = PV.idParamZnachVakans
                            }).ToList();

            for (DateTime date = d1; date < d2; date = date.AddMonths(1))
            {
                Month m = new Month();
                m.NameMonth = date.Month + "." + date.Year;
                m.KolObrStudPostTrud = ParamRes.Where(t => t.idParam == idParamTipZan && t.idResumeZnachParam == idZnachParamPost
                    && t.DataPrinyatiya.Year == date.Year && t.DataPrinyatiya.Month == date.Month).Count();

                m.KolObrStudVremZan = ParamRes.Where(t => t.idParam == idParamTipZan && t.idResumeZnachParam == idZnachParamVrem
                    && t.DataPrinyatiya.Year == date.Year && t.DataPrinyatiya.Month == date.Month).Count();

                m.KolPostVakansPostZan = ParamVak.Where(t => t.idParam == idParamTipZan && t.idParamZnachVakans == idZnachParamPost
                    && t.DataPrinyatiya.Year == date.Year && t.DataPrinyatiya.Month == date.Month).Count();

                m.KolPostVakansVremZan = ParamVak.Where(t => t.idParam == idParamTipZan && t.idParamZnachVakans == idZnachParamVrem
                    && t.DataPrinyatiya.Year == date.Year && t.DataPrinyatiya.Month == date.Month).Count();

                m.KolTrudStudPostZan = (from PR1 in
                                            (from PR in ParamRes
                                             where PR.idParam == idParamTipZan && PR.idResumeZnachParam == idZnachParamPost
                                             && PR.DataPrinyatiya.Year == date.Year && PR.DataPrinyatiya.Month == date.Month
                                             select new { idRes = PR.idResume }).ToList()
                                        join PR2 in ParamRes on PR1.idRes equals PR2.idResume
                                        where PR2.idParam == IDPARAM_ReasonEndRegistration && (PR2.idResumeZnachParam == idResumeZnachParamSCZS || PR2.idResumeZnachParam == idResumeZnachParamBezCZS)
                                        select PR2).Count();

                m.KolTrudStudVremZan = (from PR1 in
                                            (from PR in ParamRes
                                             where PR.idParam == idParamTipZan && PR.idResumeZnachParam == idZnachParamVrem
                                             && PR.DataPrinyatiya.Year == date.Year && PR.DataPrinyatiya.Month == date.Month
                                             select new { idRes = PR.idResume }).ToList()
                                        join PR2 in ParamRes on PR1.idRes equals PR2.idResume
                                        where PR2.idParam == IDPARAM_ReasonEndRegistration && (PR2.idResumeZnachParam == idResumeZnachParamSCZS || PR2.idResumeZnachParam == idResumeZnachParamBezCZS)
                                        select PR2).Count();

                m.KolTrudStudPostZanCZS = (from PR1 in
                                               (from PR in ParamRes
                                                where PR.idParam == idParamTipZan && PR.idResumeZnachParam == idZnachParamPost
                                                && PR.DataPrinyatiya.Year == date.Year && PR.DataPrinyatiya.Month == date.Month
                                                select new { idRes = PR.idResume }).ToList()
                                           join PR2 in ParamRes on PR1.idRes equals PR2.idResume
                                           where PR2.idParam == IDPARAM_ReasonEndRegistration && PR2.idResumeZnachParam == idResumeZnachParamSCZS
                                           select PR2).Count();
                m.KolTrudStudVremZanCZS = (from PR1 in
                                               (from PR in ParamRes
                                                where PR.idParam == idParamTipZan && PR.idResumeZnachParam == idZnachParamVrem
                                                && PR.DataPrinyatiya.Year == date.Year && PR.DataPrinyatiya.Month == date.Month
                                                select new { idRes = PR.idResume }).ToList()
                                           join PR2 in ParamRes on PR1.idRes equals PR2.idResume
                                           where PR2.idParam == IDPARAM_ReasonEndRegistration && PR2.idResumeZnachParam == idResumeZnachParamSCZS
                                           select PR2).Count();

                this.months.Add(m);
            }
        }