Exemple #1
0
 /// <summary>
 /// Constructor with edit report window opening
 /// </summary>
 /// <param name="addReportOpen">opens the add report window</param>
 /// <param name="reportEdit">gets the report info that is being edited</param>
 public AddReportViewModel(AddReport addReportOpen, vwUserReport reportEdit)
 {
     report           = reportEdit;
     addReport        = addReportOpen;
     ReportList       = service.GetAllReports().ToList();
     WorkerReportList = service.GetAllWorkerReports(Service.LoggedInUser[0].UserID).ToList();
 }
 /// <summary>
 /// Constructor with edit report window opening
 /// </summary>
 /// <param name="addReportOpen">opens the add report window</param>
 /// <param name="reportEdit">gets the report info that is being edited</param>
 public AddReportViewModel(AddReport addReportOpen, vwUserReport reportEdit)
 {
     report           = reportEdit;
     addReport        = addReportOpen;
     ReportList       = service.GetAllReports().ToList();
     WorkerReportList = service.GetAllWorkerReports(LoggedUser.CurrentUser.UserID).ToList();
 }
Exemple #3
0
        private void AddReportBtn_Click(object sender, RoutedEventArgs e)
        {
            InitDataSource(ref reportItems, Mapper.ReportsToReportViewModels, reportController.Get);

            AddReport addReport = new AddReport(libraryItems);

            if (addReport.ShowDialog().Value)
            {
                LibraryViewModel model = addReport.SelectedItem;

                if (model != null)
                {
                    Library library = libraryController.GetById(model.Id);
                    Report  report  = new Report(library);
                    report.CountClients       = clientController.CountByLibraryId(library.Id);
                    report.CountSections      = sectionController.CountByLibraryId(library.Id);
                    report.CountBooks         = bookController.CountByLibraryId(library.Id);
                    report.CountBooksInUse    = bookClientController.CountInUseByLibraryId(library.Id);
                    report.CountBooksNotInUse = report.CountBooks - report.CountBooksInUse;

                    reportController.Add(report);
                    reportItems.Add(Mapper.ReportToReportViewModel(report));
                    return;
                }
            }
        }
Exemple #4
0
        private void EditReportBtn_Click(object sender, RoutedEventArgs e)
        {
            ReportViewModel reportVM = dataGrid.SelectedItem as ReportViewModel;

            AddReport editReport = new AddReport(libraryItems, libraryItems.First(i => i.Id == reportVM.LibraryId));

            if (editReport.ShowDialog().Value)
            {
                LibraryViewModel model = editReport.SelectedItem;

                if (reportVM != null && model != null)
                {
                    Report  report  = reportController.GetById(reportVM.Id);
                    Library library = libraryController.GetById(model.Id);
                    reportVM.LibraryId        = library.Id;
                    report.Library            = library;
                    report.CountClients       = clientController.CountByLibraryId(library.Id);
                    report.CountSections      = sectionController.CountByLibraryId(library.Id);
                    report.CountBooks         = bookController.CountByLibraryId(library.Id);
                    report.CountBooksInUse    = bookClientController.CountInUseByLibraryId(library.Id);
                    report.CountBooksNotInUse = report.CountBooks - report.CountBooksInUse;

                    reportController.Edit(report);
                }
            }
        }
        public AddReportViewmodel(AddReport addReport)
        {
            report = new tblReport();
            DateTime date = DateTime.Now;

            report.CurrentDate = date;

            this.addReport = addReport;
        }
Exemple #6
0
        //
        private void AddReport()
        {
            var addWindow = new AddReport(false, null);

            if (addWindow.ShowDialog() ?? false)
            {
                _model.SelectedResearcher.AddReport(addWindow.Report);
            }
        }
 public AddReportViewModel(AddReport addEmployeeViewOpen, tblEmployee logedEmpl)
 {
     view = addEmployeeViewOpen;
     employeeService = new EmployeeService();
     managerService = new MenagerService();
     reportService = new ReportService();
     Report = new vwReport();
     Report.EmployeeID = logedEmpl.EmployeeID;
     employeeLogedIn = logedEmpl;
 }
        private void AddReportExecute()
        {
            try
            {
                AddReport addReport = new AddReport(EmployeeLogedIn);

                addReport.ShowDialog();

                ReportList = reportService.GetAllReportsOfEmployee(EmployeeLogedIn);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
 /// <summary>
 /// Executes the add Worker command
 /// </summary>
 private void AddNewReportExecute()
 {
     try
     {
         AddReport addReport = new AddReport();
         addReport.ShowDialog();
         if ((addReport.DataContext as AddReportViewModel).IsUpdateReport == true)
         {
             ReportList       = service.GetAllReports().ToList();
             WorkerReportList = service.GetAllWorkerReports(Service.LoggedInUser[0].UserID).ToList();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
Exemple #10
0
        /// <summary>
        /// Open a form to add a report
        /// </summary>
        private void AddExecute()
        {
            try
            {
                AddReport addReport = new AddReport();
                addReport.ShowDialog();

                if ((addReport.DataContext as AddReportViewmodel).IsUpdateReport == true)
                {
                    Service s = new Service();
                    ReportList = s.GetAllReportIDtbl(LoggedEmployee.ID).ToList();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
        /// <summary>
        /// Executes the edit command
        /// </summary>
        public void EditReportExecute()
        {
            try
            {
                if (UserReport() != null)
                {
                    AddReport addReport = new AddReport(UserReport());
                    addReport.ShowDialog();

                    if ((addReport.DataContext as AddReportViewModel).IsUpdateReport == true)
                    {
                        ReportList       = service.GetAllReports().ToList();
                        WorkerReportList = service.GetAllWorkerReports(LoggedUser.CurrentUser.UserID).ToList();
                    }
                    SectorModifier();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
 private void ShowRep()
 {
     AddReport_         = new AddReport(this);
     this.shell.Content = AddReport_;
 }
Exemple #13
0
        private void EditReport()
        {
            var addWindow = new AddReport(true, _model.SelectedReport);

            addWindow.ShowDialog();
        }
        public AddReportViewmodel(AddReport addReport, tblReport reportEdit)
        {
            report = reportEdit;

            this.addReport = addReport;
        }
        public async Task <ActionResult> Report(AddReport model)
        {
            string query;
            List <ResultToReport> List;

            if (model.Date <= DateTime.Now)
            {
                using (var db = new ApplicationDbContext())
                {
                    db.SaveChanges();
                    // норма часов/мес
                    var task = Convert.ToInt32(db.Database.SqlQuery <double>("SELECT CAST (SUM (count) AS integer) FROM ta.time WHERE Extract(MONTH from \"date\"::date ) = " + model.Date.Month + " AND Extract(YEAR from \"date\"::date ) = " + model.Date.Year + "; ").FirstOrDefault());
                    // выходные дни
                    var days = db.Database.SqlQuery <DateTime>("SELECT \"date\" FROM  ta.\"time\" WHERE count = 0 AND Extract(MONTH from \"date\") = " + model.Date.Month + " AND Extract(YEAR from \"date\"::date ) = " + model.Date.Year + "; ").AsQueryable().ToList();
                    // кол-во рабочих часов по датам
                    var Dates   = await(db.Database.SqlQuery <Days>("SELECT \"date\", count AS sum FROM  ta.\"time\" WHERE Extract(MONTH from \"date\") = " + model.Date.Month + " AND Extract(YEAR from \"date\"::date ) = " + model.Date.Year + " ORDER BY \"date\"; ")).ToListAsync();
                    var OutList = db.Marks.Where(x => x.Out_Date == null).ToList();
                    foreach (var e in OutList)
                    {
                        var time = e.Coming_Date.AddHours(+9);
                        e.Out_Date = time;
                    }
                    if (model.UserId != 0)
                    {   // ФИО пользователя + сумма всех часов за месяц
                        query = "SELECT ta.mark.\"UserId\", ta.user.\"UserName\", ta.user.firstname, ta.user.lastname, ta.user.middlename, CAST (SUM ((EXTRACT(EPOCH FROM AGE(Out_Date, Coming_Date))-3600)/3600) AS INTEGER) FROM ta.mark INNER JOIN ta.user ON ta.mark.\"UserId\" = ta.user.\"Id\" WHERE ta.mark.\"UserId\" = " + model.UserId + " AND Extract(MONTH from Coming_Date::date ) = " + model.Date.Month + " AND Extract(YEAR from Coming_Date::date ) = " + model.Date.Year + " GROUP BY \"UserId\", ta.user.\"UserName\", ta.user.firstname, ta.user.lastname, ta.user.middlename; ";
                    }
                    else
                    {
                        query = "SELECT ta.mark.\"UserId\", ta.user.\"UserName\", ta.user.firstname, ta.user.lastname, ta.user.middlename, CAST (SUM ((EXTRACT(EPOCH FROM AGE(Out_Date, Coming_Date))-3600)/3600) AS INTEGER) FROM ta.mark INNER JOIN ta.user ON ta.mark.\"UserId\" = ta.user.\"Id\" WHERE Extract(MONTH from Coming_Date::date ) = " + model.Date.Month + " AND Extract(YEAR from Coming_Date::date ) = " + model.Date.Year + " GROUP BY \"UserId\", ta.user.\"UserName\", ta.user.firstname, ta.user.lastname, ta.user.middlename ORDER BY ta.user.lastname;";
                    }
                    List = await(db.Database.SqlQuery <ResultToReport>(query)).ToListAsync();
                    if (List.Count != 0)
                    {
                        foreach (var b in List)
                        {
                            b.no = 0; b.dayoff = 0;
                            if (b.sum >= task)
                            {   // кол-во часов по датам пользователя
                                query  = "SELECT \"date\", count AS sum FROM ta.\"time\" WHERE Extract(MONTH from ta.\"time\".\"date\"::date ) = " + model.Date.Month + " AND Extract(YEAR from \"date\"::date ) = " + model.Date.Year + " ORDER BY \"date\"; ";
                                b.Days = await(db.Database.SqlQuery <Days>(query)).ToListAsync();
                                // отработанные дни
                                b.dayall = b.Days.Where(m => m.sum != 0).Count();
                            }
                            else
                            {
                                query  = "SELECT ta.\"time\".\"date\", mark.sum FROM ta.\"time\" LEFT JOIN (SELECT Coming_Date, CAST(EXTRACT(EPOCH FROM AGE(ta.mark.Out_Date, ta.mark.Coming_Date)) / 3600 AS integer) AS sum FROM ta.mark WHERE \"UserId\" = " + b.UserId + ") AS mark ON ta.\"time\".\"date\" = mark.Coming_Date::date WHERE Extract(MONTH from ta.\"time\".\"date\") = " + model.Date.Month + " AND Extract(YEAR from \"date\"::date ) = " + model.Date.Year + " ORDER BY ta.\"time\".\"date\"; ";
                                b.Days = await(db.Database.SqlQuery <Days>(query)).ToListAsync(); // кол-во часов по датам
                                var qer = "SELECT coming_date::date FROM ta.mark WHERE Extract(MONTH from Coming_Date::date ) = " + model.Date.Month + " AND \"UserId\" = " + b.UserId + " AND CAST(((EXTRACT(EPOCH FROM AGE(Out_Date, Coming_Date)) - 3600) / 3600) AS INTEGER) < 8 AND Coming_Date::time > '08:15:00'; ";
                                b.latelist = db.Database.SqlQuery <DateTime>(qer).ToList();       // опоздания
                                b.lateness = b.latelist.Count();
                                //qer = "SELECT out_date::date FROM ta.mark WHERE Extract(MONTH from Coming_Date::date ) = " + model.Date.Month + " AND \"UserId\" = " + b.UserId + " AND CAST(((EXTRACT(EPOCH FROM AGE(Out_Date, Coming_Date)) - 3600) / 3600) AS INTEGER) < 8 AND out_date::time < '17:00:00'; ";
                                //b.earlylist = db.Database.SqlQuery<DateTime>(qer).ToList();
                                //b.early = b.earlylist.Count();
                                // всего отработал дней
                                b.dayall = b.Days.Where(m => m.sum != null).Count();
                                foreach (var m in b.Days)
                                {
                                    if (m.sum == null && !days.Contains(m.date))
                                    {   // прогулы
                                        b.no++;
                                    }
                                    else
                                    {
                                        if (days.Contains(m.date) && m.sum >= 8)
                                        {   // кол-во отработанных выходных
                                            b.dayoff++;
                                        }
                                    }
                                }
                            }
                        }
                    }
                    else
                    {   // если ни один пользователь не отмечен
                        query = "SELECT \"Id\", \"UserName\",firstname, lastname, middlename FROM ta.user ORDER BY \"UserName\"; ";
                        List  = await(db.Database.SqlQuery <ResultToReport>(query)).ToListAsync();
                    }
                    // название месяца
                    var mname = db.Database.SqlQuery <string>("select to_char(\"date\", 'TMMonth') FROM ta.\"time\" WHERE Extract(MONTH from \"date\"::date) = " + model.Date.Month + "; ").FirstOrDefault();
                    ViewBag.Info = new ReportInfo {
                        Task = task, Days = days, All = Dates, Count = Dates.Where(m => m.sum != 0).Count(), MName = mname
                    };
                    foreach (var e in OutList)
                    {
                        e.Out_Date = null;
                    }
                    db.SaveChanges();
                    return(View(List));
                }
            }
            else
            {   // некорректная дата
                using (var db = new ApplicationDbContext())
                {
                    List <AddReport> NList;
                    var list = db.Database.SqlQuery <AddReport>("SELECT \"Id\" AS \"UserId\", \"UserName\", firstname AS \"FirstName\", lastname AS \"LastName\", middlename AS \"MiddleName\" FROM ta.user ORDER BY \"UserName\" ASC; ").AsQueryable();
                    NList = list.ToList();
                    return(RedirectToAction("CreateReport", NList));
                }
            }
        }
Exemple #16
0
 public Report()
 {
     InitializeComponent();
     AddComb();
     addReport = new AddReport();
 }