public ActionResult Index()
        {
            var profileId = Request.Params["selectedProfile"];
            var model     = new DocumentsGridModel
            {
                SortBy           = "Sequence",
                SortAscending    = true,
                CurrentPageIndex = 1,
                PageSize         = 100
            };

            var user         = UserDetails.CurrentUser();
            var userProfiles = user.GetProfilesUserHasPermissionsTo().ToList();

            AssignProfileList(model, userProfiles);
            AssignProfileId(model, profileId, userProfiles);

            GetDocumentItems(model);



            //  Session["GetAllProfile"] = model.ProfileList;

            //ViewBag.GetAllProfile = model;

            return(View(model));
        }
        public JsonResult DeleteIndicator(string indicatorIds)
        {
            var indicatorList = indicatorIds.Split(',').ToList();

            foreach (var indicatorId in indicatorList)
            {
                var user = UserDetails.CurrentUser();
                if (user.IsPholioDataManager == false)
                {
                    throw new FpmException(
                              "User not allowed to delete indicators: " + user.Name);
                }

                var indicatorMetadata = writer.GetIndicatorMetadata(Convert.ToInt32(indicatorId));
                if (indicatorMetadata != null)
                {
                    writer.DeleteIndicatorMetatdataById(indicatorMetadata);
                }
            }

            return(Json(new
            {
                Ids = indicatorIds
            }));
        }
        private static void CheckUserIsPholioDataManager()
        {
            var user = UserDetails.CurrentUser();

            if (user.IsPholioDataManager == false)
            {
                throw new FpmException(
                          "User not allowed to delete indicators: " + user.Name);
            }
        }
        public ActionResult InsertUser(FpmUser user)
        {
            if (!TryUpdateModel(user))
            {
                ViewBag.updateError = "Update Failure";
                return(View("CreateUser", user));
            }

            _userRepository.CreateUserItem(user, UserDetails.CurrentUser().Name);

            return(RedirectToAction("UserIndex"));
        }
Beispiel #5
0
 private void AuditContentChange(ContentItem contentItem, string oldContent)
 {
     _writer.NewContentAudit(new ContentAudit
     {
         ContentKey  = contentItem.ContentKey,
         ToContent   = contentItem.Content,
         FromContent = oldContent,
         ContentId   = contentItem.Id,
         UserName    = UserDetails.CurrentUser().Name,
         Timestamp   = DateTime.Now
     });
 }
        public ActionResult UpdateUser(EditUserViewModel viewModel)
        {
            var user = new FpmUser();

            user.Id              = viewModel.FpmUserId;
            user.DisplayName     = viewModel.DisplayName;
            user.IsAdministrator = viewModel.IsAdministrator;
            user.UserName        = viewModel.UserName;

            //fpm_userAudit userid should be equal to fpm_user id
            _userRepository.UpdateUserItem(user, UserDetails.CurrentUser().Name);

            return(RedirectToAction("UserIndex"));
        }
        public ActionResult CurrentUserJobProgress()
        {
            var userId = UserDetails.CurrentUser().Id;
            var jobs   = _fpmUploadRepository.GetJobsForCurrentUser(userId);

            var response = new UploadProgressViewModel
            {
                InProgress          = jobs.Count(x => x.Status == UploadJobStatus.InProgress),
                InQueue             = jobs.Count(x => x.Status == UploadJobStatus.NotStart),
                AwaitingConfomation = jobs.Count(x => x.Status == UploadJobStatus.ConfirmationAwaited),
                Jobs = jobs
            };

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
        public ActionResult IndicatorNew()
        {
            // Get text properties of selected indicator
            var properties = _reader.GetIndicatorMetadataTextProperties();

            var userId        = _reader.GetUserByUserName(UserDetails.CurrentUser().Name).Id;
            var permissionIds = _reader.GetUserGroupPermissionsByUserId(userId).Select(x => x.ProfileId);
            var model         = new ProfileIndex {
                Profiles =
                    _reader.GetProfiles()
                    .OrderBy(x => x.Name)
                    .Where(x => permissionIds.Contains(x.Id))
            };

            var listOfProfiles = CommonUtilities.GetOrderedListOfProfiles(model.Profiles);

            ViewBag.listOfProfiles = listOfProfiles;

            var domains        = new ProfileMembers();
            var defaultProfile = listOfProfiles.FirstOrDefault();

            ViewBag.listOfDomains = CommonUtilities.GetOrderedListOfDomainsWithGroupId(domains, defaultProfile, _profileRepository);

            ViewBag.selectedSex = new SelectList(_lookUpsRepository.GetSexes(), "SexID", "Description");

            ViewBag.selectedAge = new SelectList(_lookUpsRepository.GetAges(), "AgeID", "Description");

            var comparatorOptions = CommonUtilities.GetListOfComparators(ComparatorIds.NationalAndSubnational);

            ViewBag.selectedComparator = new SelectList(comparatorOptions, "Value", "Text");

            ViewBag.selectedComparatorMethod = new SelectList(_reader.GetAllComparatorMethods(), "Id", "Name");

            ViewBag.selectedYearType = new SelectList(_lookUpsRepository.GetYearTypes(), "Id", "Label");

            ViewBag.selectedValueType = new SelectList(_lookUpsRepository.GetIndicatorValueTypes(), "Id", "Label");

            ViewBag.selectedCIMethodType = new SelectList(_lookUpsRepository.GetConfidenceIntervalMethods(), "Id", "Name");

            ViewBag.selectedUnitType = new SelectList(_lookUpsRepository.GetUnits(), "Id", "Label");

            ViewBag.selectedDenominatorType = new SelectList(_lookUpsRepository.GetDenominatorTypes(), "Id", "Name");

            return(View(properties));
        }
        // Helper to save files and create job in database
        public bool SaveFile(HttpPostedFileBase indicatorDataFile, UploadJobType jobType)
        {
            bool response;

            if (Request.Files == null)
            {
                return(false);
            }

            var guid           = Guid.NewGuid();
            var file           = Request.Files[0];
            var actualFileName = file.FileName;
            var fileName       = guid + Path.GetExtension(file.FileName);

            try
            {
                if (!Directory.Exists(AppConfig.UploadFolder))
                {
                    Directory.CreateDirectory(AppConfig.UploadFolder);
                }

                file.SaveAs(Path.Combine(AppConfig.UploadFolder, fileName));
                var uploadJob = new UploadJob
                {
                    DateCreated = DateTime.Now,
                    Guid        = guid,
                    Filename    = actualFileName,
                    JobType     = jobType,
                    Status      = UploadJobStatus.NotStart,
                    UserId      = UserDetails.CurrentUser().Id
                };

                _fpmUploadRepository.CreateJob(uploadJob);
                response = true;
            }
            catch (Exception ex)
            {
                response = false;
            }

            return(response);
        }
Beispiel #10
0
        public ActionResult CreateProfile(ProfileViewModel profileViewModel)
        {
            profileViewModel.ProfileUsers = JsonConvert.DeserializeObject <IEnumerable <ProfileUser> >(Request["ProfileUsers"]);

            // Create new profile
            var profile = profileViewModel.ToProfileDetails();

            profile.SetDefaultValues();
            var userName     = UserDetails.CurrentUser().Name;
            int newProfileId = _profileRepository.CreateProfile(profile);

            // New domain
            _writer.NewGroupingMetadata(profile.DefaultDomainName, 1, newProfileId);

            // Create default content items
            new DefaultProfileContentWriter(_writer, newProfileId, userName)
            .CreateContentItems();

            return(RedirectToAction("ManageProfiles"));
        }
        public ActionResult UpdateArea(AreaDetail model, string originalAreaCode)
        {
            var areaDetail = new Area
            {
                AreaCode      = model.AreaDetails.AreaCode,
                AreaTypeId    = model.AreaDetails.AreaTypeId,
                AreaName      = model.AreaDetails.AreaName,
                AreaShortName = model.AreaDetails.AreaShortName,
                AddressLine1  = model.AreaDetails.AddressLine1,
                AddressLine2  = model.AreaDetails.AddressLine2,
                AddressLine3  = model.AreaDetails.AddressLine3,
                AddressLine4  = model.AreaDetails.AddressLine4,
                Postcode      = model.AreaDetails.Postcode,
                IsCurrent     = model.AreaDetails.IsCurrent
            };

            _coreDataRepository.UpdateAreaDetail(areaDetail, originalAreaCode, UserDetails.CurrentUser().Name);

            return(RedirectToAction("SearchAreas",
                                    new { areaTypeId = model.SearchAreaTypeId, searchText = model.SearchText }));
        }
        public ActionResult Delete(int id)
        {
            Document doc = _reader.GetDocument(id);

            if (doc == null)
            {
                throw new FpmException("Content item could not be deleted with id " + id);
            }

            if (UserDetails.CurrentUser().HasWritePermissionsToProfile(doc.ProfileId))
            {
                _writer.DeleteDocument(doc);

                return(new JsonResult
                {
                    Data = "Success",
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }

            throw new FpmException("User does not have the right to delete document " + id);
        }
        public ActionResult TargetEdit(TargetEditModel model, string button)
        {
            var userId = UserDetails.CurrentUser().Id;
            var target = model.Target;

            if (button.ToLower().StartsWith("delete"))
            {
                if (UserDetails.CurrentUser().IsAdministrator)
                {
                    // Audit state in database before deletion
                    var targetFromDatabase = _reader.GetTargetById(target.Id);
                    _writer.DeleteTargetConfig(target);
                    _writer.NewTargetConfigAudit(new TargetConfigAudit(targetFromDatabase, userId, "Deleted"));
                }
            }
            else
            {
                _writer.UpdateTargetConfig(model.Target);
                _writer.NewTargetConfigAudit(new TargetConfigAudit(model.Target, userId, "Updated"));
            }
            return(Redirect(SiteUrls.TargetIndex));
        }
Beispiel #14
0
        public ActionResult SetDataPoint(int profileId, int areaTypeId, int indicatorId,
                                         int sexId, int ageId, int year, int quarter, int month, int yearRange)
        {
            if (UserDetails.CurrentUser().HasWritePermissionsToProfile(profileId) == false)
            {
                throw new FpmException("User does not have rights to change time period");
            }

            var groupIds  = _reader.GetGroupingIds(profileId);
            var groupings = _writer.GetGroupings(groupIds, areaTypeId, indicatorId, sexId,
                                                 ageId, yearRange);

            // Change data points
            foreach (var grouping in groupings)
            {
                grouping.DataPointYear    = year;
                grouping.DataPointQuarter = quarter;
                grouping.DataPointMonth   = month;
            }

            _writer.UpdateGroupingList(groupings);

            return(Json("Saved OK"));
        }
Beispiel #15
0
 protected override void Initialize(RequestContext requestContext)
 {
     base.Initialize(requestContext);
     _userName = UserDetails.CurrentUser().Name;
 }
 public ActionResult TargetNew(TargetEditModel model)
 {
     _writer.NewTargetConfig(model.Target);
     _writer.NewTargetConfigAudit(new TargetConfigAudit(model.Target, UserDetails.CurrentUser().Id, "New"));
     return(Redirect(SiteUrls.TargetIndex));
 }