Exemplo n.º 1
0
        static void Main(string[] args)
        {
            CrimsDbContext db      = new CrimsDbContext();
            Project        project = new Project
            {
                ActivationCode     = "",
                DateCreated        = DateTime.Now,
                LicenceCode        = "",
                LicenseExpiryDate  = DateTime.Now.AddYears(5),
                OnlineMode         = 0,
                ProjectCode        = "PRC001",
                ProjectDescription = "Test Project",
                ProjectName        = "A Test Project"
            };

            db.Projects.Add(project);
            db.SaveChanges();
            Console.ReadLine();
        }
Exemplo n.º 2
0
        public ActionResult GetMoreDashboardStats(int page, int numOfItemsToFetch, string enrollmentOfficer, string projectCode)
        {
            try
            {
                var dashboardModel = new DashboardModel();
                var list           = new List <BaseData>();

                var photosEnrolled       = 0;
                var fingerprintsEnrolled = 0;
                var approved             = (int)EnumManager.ApprovalStatus.Approved;
                var signaturesEnrolled   = 0;
                var noPhotos             = 0;
                var noFingerprints       = 0;
                using (var db = new CrimsDbContext())
                {
                    if (string.IsNullOrEmpty(enrollmentOfficer) || enrollmentOfficer == "null")
                    {
                        list = db.BaseDatas.Where(t => t.ProjectCode == projectCode)
                               .Include("Approvals").Include("FingerprintImages")
                               .Include("Photographs").Include("Signatures").Include("SyncJobHistories")
                               .OrderByDescending(d => d.EnrollmentDate).Skip(page * numOfItemsToFetch).Take(numOfItemsToFetch).ToList();
                    }
                    else if (!string.IsNullOrEmpty(enrollmentOfficer))
                    {
                        list = db.BaseDatas.Where(t => t.ProjectCode == projectCode && (t.CreatedBy == enrollmentOfficer || t.LastUpdatedby == enrollmentOfficer))
                               .Include("Approvals").Include("FingerprintImages")
                               .Include("Photographs").Include("Signatures").Include("SyncJobHistories")
                               .OrderByDescending(d => d.EnrollmentDate).Skip(page * numOfItemsToFetch).Take(numOfItemsToFetch).ToList();
                    }

                    else
                    {
                        return(Json(new DashboardModel(), JsonRequestBehavior.AllowGet));
                    }

                    if (list.Any())
                    {
                        dashboardModel.DataRetrieved = true;
                        list.ForEach(d =>
                        {
                            if (d.Photographs.Any())
                            {
                                photosEnrolled += 1;
                            }
                            else
                            {
                                noPhotos += 1;
                            }
                            if (d.FingerprintImages.Any())
                            {
                                fingerprintsEnrolled += 1;
                            }
                            else
                            {
                                noFingerprints += 1;
                            }
                            if (d.Signatures.Any())
                            {
                                signaturesEnrolled += 1;
                            }
                            if (d.SyncJobHistories.Any())
                            {
                                dashboardModel.Synchronized += 1;
                            }
                        });
                        dashboardModel.TotalApprovals       = list.Count(t => t.ApprovalStatus == approved);
                        dashboardModel.TotalCapture         = list.Count;
                        dashboardModel.PhotoEnrolled        = photosEnrolled;
                        dashboardModel.Signature            = signaturesEnrolled;
                        dashboardModel.FingerprintsEnrolled = fingerprintsEnrolled;
                        dashboardModel.NoPhotos             = noPhotos;
                        dashboardModel.NoFingerprint        = noFingerprints;
                    }
                    return(Json(dashboardModel, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception e)
            {
                return(Json(new DashboardModel(), JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 3
0
        public ActionResult GetDashboardStats()
        {
            try
            {
                var sessionProject = GetProjectInSession();
                if (sessionProject == null)
                {
                    return(Json(new DashboardModel(), JsonRequestBehavior.AllowGet));
                }

                if (string.IsNullOrEmpty(sessionProject.ProjectCode))
                {
                    return(Json(new DashboardModel(), JsonRequestBehavior.AllowGet));
                }

                var userId          = User.Identity.GetUserId();
                var registeredUsers = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>().Users.Where(e => e.Id == userId).Include("UserInfo").ToList();
                if (!registeredUsers.Any())
                {
                    return(Json(new DashboardModel(), JsonRequestBehavior.AllowGet));
                }

                var enrolledBy     = registeredUsers[0].UserInfo.Id;
                var dashboardModel = new DashboardModel();
                var approved       = (int)EnumManager.ApprovalStatus.Approved;
                var list           = new List <BaseData>();

                var photosEnrolled       = 0;
                var fingerprintsEnrolled = 0;
                var signaturesEnrolled   = 0;
                var noPhotos             = 0;
                var noFingerprints       = 0;
                using (var db = new CrimsDbContext())
                {
                    if (User.IsInRole("Admin") || User.IsInRole("Site_Administrator") || User.IsInRole("Super_Admin"))
                    {
                        list = db.BaseDatas.Where(t => t.ProjectCode == sessionProject.ProjectCode).Include("Approvals").Include("FingerprintImages")
                               .Include("Photographs").Include("Signatures").Include("SyncJobHistories")
                               .OrderByDescending(d => d.Firstname).Skip(0).Take(50).ToList();
                    }
                    else
                    {
                        if (User.IsInRole("Enrollment_Officer"))
                        {
                            dashboardModel.EnrollmentOfficer = enrolledBy;
                            list = db.BaseDatas.Where(t => t.ProjectCode == sessionProject.ProjectCode && (t.CreatedBy == enrolledBy || t.LastUpdatedby == enrolledBy))
                                   .Include("Approvals").Include("FingerprintImages")
                                   .Include("Photographs").Include("Signatures").Include("SyncJobHistories")
                                   .OrderByDescending(d => d.EnrollmentDate).Skip(0).Take(50).ToList();
                        }
                        else
                        {
                            return(Json(new DashboardModel(), JsonRequestBehavior.AllowGet));
                        }
                    }
                    if (list.Any())
                    {
                        dashboardModel.DataRetrieved = true;
                        list.ForEach(d =>
                        {
                            if (d.Photographs.Any())
                            {
                                photosEnrolled += 1;
                            }
                            else
                            {
                                noPhotos += 1;
                            }
                            if (d.FingerprintImages.Any())
                            {
                                fingerprintsEnrolled += 1;
                            }
                            else
                            {
                                noFingerprints += 1;
                            }
                            if (d.Signatures.Any())
                            {
                                signaturesEnrolled += 1;
                            }
                            if (d.SyncJobHistories.Any())
                            {
                                dashboardModel.Synchronized += 1;
                            }
                        });

                        dashboardModel.TotalApprovals       = list.Count(t => t.ApprovalStatus == approved);
                        dashboardModel.TotalCapture         = list.Count;
                        dashboardModel.Synchronized         = db.SyncJobHistory.Count();
                        dashboardModel.PhotoEnrolled        = photosEnrolled;
                        dashboardModel.ProjectCode          = sessionProject.ProjectCode;
                        dashboardModel.Signature            = signaturesEnrolled;
                        dashboardModel.FingerprintsEnrolled = fingerprintsEnrolled;
                        dashboardModel.NoPhotos             = noPhotos;
                        dashboardModel.NoFingerprint        = noFingerprints;
                    }

                    return(Json(dashboardModel, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception e)
            {
                return(Json(new DashboardModel(), JsonRequestBehavior.AllowGet));
            }
        }