public override string GetReport()
        {
            reportUsers.reportUsers = new List <ReportUser>();

            foreach (var user in context.userInfo.ToList())
            {
                TokenManager tokenManager = new TokenManager();
                tokenManager.SetDbContext(context);
                journeyManager.SetDbContext(context);

                ReportUser repUser = new ReportUser();
                repUser.id        = user.id;
                repUser.username  = user.loginName;
                repUser.status    = user.status;
                repUser.session   = tokenManager.HasValidToken(user.id);
                repUser.lastlogin = tokenManager.GetTokenExpDate(user.id);
                repUser.orders    = journeyManager.GetOrderedFlights(user.id);


                reportUsers.reportUsers.Add(repUser);
            }

            report.reportUsers = reportUsers;

            List <IEntity> entities = entityFactory.CreateEntities();

            entities.Add(report);
            return(responseFactory.CreateResponse(0, "", entities, ""));
        }
        private ReportUser GetHRManager(List <OrderDetail> orderDetails)
        {
            ReportUser hrManager = null;

            try
            {
                var firstOrderDetail =
                    orderDetails.OrderByDescending(c => c.Order.OrderBatch.HrManagerApprovalDate).FirstOrDefault();

                if (firstOrderDetail?.Order.OrderBatch?.HrManagerApprover != null)
                {
                    var hrManagerName = firstOrderDetail.Order.OrderBatch.HrManagerApprover.FullName;
                    hrManager = new ReportUser
                    {
                        Name       = hrManagerName,
                        ActionDate = firstOrderDetail.Order.OrderBatch.HrManagerApprovalDate.GetValueOrDefault()
                    };
                }
            }
            catch (Exception ex)
            {
                _logger.Error("Get HR Manager will be ignored although cannot be retrieved", ex);
            }


            return(hrManager);
        }
        protected static int CreateOneAnchorCell(ReportUser reportUser,
                                                 HtmlTable htmlTable, ref HtmlTableRow tr, string name, string electionKey,
                                                 int cellsDisplayedInRow)
        {
            if (MaxCellsInRow == cellsDisplayedInRow)
            {
                tr = new HtmlTableRow().AddTo(htmlTable, "trLinks");
                cellsDisplayedInRow = 0;
            }

            var td = new HtmlTableCell().AddTo(tr, "tdCountyLocalLinks");
            // nobr is deprecated
            var nobr = new HtmlGenericControl("nobr").AddTo(td);
            //switch (reportUser)
            //{
            //  case ReportUser.Public:
            //    electionAnchor = CreatePublicElectionAnchor(electionKey, name);
            //    break;
            //  default:
            //    electionAnchor = CreateAdminElectionAnchor(electionKey, name);
            //    break;
            //}
            // only public now
            var electionAnchor = CreatePublicElectionAnchor(electionKey, name);

            electionAnchor.AddTo(nobr);

            cellsDisplayedInRow++;
            return(cellsDisplayedInRow);
        }
Exemple #4
0
        public string CreateWebSessionFromDiscordId(string discordUserId)
        {
            ReportUser reportUser = _wrapper.ReportUserRepository.GetOne <ReportUser>(f => f.DiscordId == discordUserId);

            if (reportUser != null)
            {
                WebSession webSession = this.CreateWebSession(reportUser.Username);
                return(webSession.SessionCookie);
            }
            else
            {
                if (SystemShouldAutoCreateAccounts())
                {
                    ReportUser newUser = new ReportUser();
                    newUser.PasswordHash        = HashPassword(GenerationHelper.CreateRandomString(true, true, false, 20));
                    newUser.Username            = discordUserId;
                    newUser.IsOrganizationAdmin = false;
                    newUser.OrganizationRoles   = new List <string>();
                    _wrapper.ReportUserRepository.AddOne <ReportUser>(newUser);
                    WebSession webSession = this.CreateWebSession(newUser.Username);
                    return(webSession.SessionCookie);
                }
                else
                {
                    return("");
                }
            }
        }
        public void ReportView()
        {
            try
            {
                if (Session["UiVistaUsuario"] != null)
                {
                    var listaUsuarios = new List <Usuario>();

                    for (int i = 0; i < UiVistaUsuario.VisibleRowCount; i++)
                    {
                        listaUsuarios.Add((Usuario)UiVistaUsuario.GetRow(i));
                    }

                    listaUsuarios = listaUsuarios.Distinct().ToList();

                    if (listaUsuarios.Count != 0)
                    {
                        var reporte = new ReportUser
                        {
                            DataSource = ListToDataTableClass.ListToDataTable(listaUsuarios)
                            ,
                            DataMember = "USERS"
                        };
                        UiDocumentoVistaReporteVistaGeneral.Report = reporte;
                        UiDocumentoVistaReporteVistaGeneral.DataBind();
                    }
                }
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(this, GetType(), "ErrorText", "CallError('Error: " + ex.Message + "');", true);
            }
        }
        protected static HtmlTable CreateHtmlTableWithHeading(ReportUser reportUser,
                                                              bool isCountiesReport)
        {
            var htmlTable =
                new HtmlTable {
                CellSpacing = 0, CellPadding = 0, Border = 0
            }.AddCssClasses(
                reportUser == ReportUser.Public ? "tablePage" : "tableAdmin");

            var headerTitle = isCountiesReport
        ? "County Elections"
        : "Local District Elections";

            var tr = new HtmlTableRow().AddTo(htmlTable, "trReportHeading");

            new HtmlTableCell
            {
                Align     = "center",
                ColSpan   = MaxCellsInRow,
                InnerHtml = headerTitle
            }.AddTo(tr, "tdReportHeading");

            tr = new HtmlTableRow().AddTo(htmlTable, "trReportGroupHeading");
            new HtmlTableCell
            {
                ColSpan   = MaxCellsInRow,
                InnerHtml =
                    isCountiesReport
            ? "Use these links for specific county office contests and ballot measures in this election."
            : "Use these links for specific local district and town office contests and ballot measures in this election."
            }.AddTo(tr, "tdReportGroupHeading");
            return(htmlTable);
        }
Exemple #7
0
        protected static int CreateOneAnchorCell(ReportUser reportUser,
                                                 HtmlTable htmlTable, ref HtmlTableRow tr, string name,
                                                 int cellsDisplayedInRow, string stateCode, string countyCode,
                                                 string localCode = "")
        {
            if (MaxCellsInRow == cellsDisplayedInRow)
            {
                tr = new HtmlTableRow().AddTo(htmlTable, "trLinks");
                cellsDisplayedInRow = 0;
            }

            HtmlAnchor officialsAnchor = null;

            switch (reportUser)
            {
            case ReportUser.Public:
                officialsAnchor = CreatePublicOfficalsAnchor(name, stateCode, countyCode,
                                                             localCode);
                break;

            case ReportUser.Master:
            case ReportUser.Admin:
                officialsAnchor = CreateAdminOfficialsAnchor(name, stateCode, countyCode,
                                                             localCode);
                break;
            }

            var td = new HtmlTableCell().AddTo(tr, "tdCountyLocalLinks");

            officialsAnchor.AddTo(td);

            cellsDisplayedInRow++;
            return(cellsDisplayedInRow);
        }
Exemple #8
0
        // ReSharper disable MemberCanBePrivate.Global
        // ReSharper disable MemberCanBeProtected.Global
        // ReSharper disable UnusedMember.Global
        // ReSharper disable UnusedMethodReturnValue.Global
        // ReSharper disable UnusedAutoPropertyAccessor.Global
        // ReSharper disable UnassignedField.Global

        #endregion ReSharper disable

        public static Control GetReport(ReportUser reportUser, string stateCode,
                                        string countyCode)
        {
            // Get a dictionary of all locals with offices defined
            // Key: localCode; Value: localDistrictName
            var localNamesWithOfficesDictionary =
                Offices.GetLocalNamesWithOffices(stateCode, countyCode);

            if (localNamesWithOfficesDictionary.Count == 0)
            {
                return(null);
            }

            // For reporting, we sort the dictionary by name, then reorder it to
            // display vertically.
            var sortedListOflocalNamesWithOffices = localNamesWithOfficesDictionary
                                                    .OrderBy(kvp => kvp.Value)
                                                    .Select(kvp => kvp.Key)
                                                    .ToList()
                                                    .ReorderVertically(MaxCellsInRow);

            var          htmlTable           = CreateHtmlTableWithHeading(reportUser, stateCode, countyCode);
            HtmlTableRow tr                  = null;
            var          cellsDisplayedInRow = MaxCellsInRow; // force new row initially

            foreach (var iteratedLocalCode in sortedListOflocalNamesWithOffices)
            {
                var localName = localNamesWithOfficesDictionary[iteratedLocalCode];
                cellsDisplayedInRow = CreateOneAnchorCell(reportUser, htmlTable, ref tr,
                                                          localName, cellsDisplayedInRow, stateCode, countyCode, iteratedLocalCode);
            }

            return(htmlTable);
        }
Exemple #9
0
        // ReSharper disable MemberCanBePrivate.Global
        // ReSharper disable MemberCanBeProtected.Global
        // ReSharper disable UnusedMember.Global
        // ReSharper disable UnusedMethodReturnValue.Global
        // ReSharper disable UnusedAutoPropertyAccessor.Global
        // ReSharper disable UnassignedField.Global

        #endregion ReSharper disable

        public static Control GetReport(ReportUser reportUser, string stateCode)
        {
            // We get a dictionary of office counts by county
            // Key: countyCode; Value: count of offices
            // Counties with no offices will not be in the dictionary
            var countCountyOfficesDictionary =
                Offices.CountCountyOfficesByCounty(stateCode);

            if (countCountyOfficesDictionary.Count == 0)
            {
                return(null);
            }

            // For reporting we start with all counties for the state (it will be in
            // order by county name). Then we select only those in the offices dictionary
            // and reorder for vertical presentation.
            var reorderedCounties = CountyCache.GetCountiesByState(stateCode)
                                    .Where(countCountyOfficesDictionary.ContainsKey)
                                    .ToList()
                                    .ReorderVertically(MaxCellsInRow);

            var          htmlTable           = CreateHtmlTableWithHeading(reportUser, stateCode);
            HtmlTableRow tr                  = null;
            var          cellsDisplayedInRow = MaxCellsInRow; // force new row

            foreach (var iteratedCountyCode in reorderedCounties)
            {
                var countyName = CountyCache.GetCountyName(stateCode, iteratedCountyCode);
                cellsDisplayedInRow = CreateOneAnchorCell(reportUser, htmlTable, ref tr,
                                                          countyName, cellsDisplayedInRow, stateCode, iteratedCountyCode);
            }

            return(htmlTable);
        }
        public void ReportView()
        {
            try
            {
                if (Session["DS_USER"] != null)
                {
                    var dsDiseño    = new dsUsers();
                    var dsEjecucion = (DataSet)Session["DS_USER"];

                    for (var i = 0; i < dsEjecucion.Tables[0].Rows.Count; i++)
                    {
                        var row = dsDiseño.USERS.NewRow();
                        row[0] = dsEjecucion.Tables[0].Rows[i]["CORRELATIVE"];
                        row[1] = dsEjecucion.Tables[0].Rows[i]["LOGIN"];
                        row[2] = dsEjecucion.Tables[0].Rows[i]["NAME_USER"];
                        row[3] = dsEjecucion.Tables[0].Rows[i]["TYPE_USER"];
                        dsDiseño.USERS.Rows.Add(row);
                    }
                    Session["DS_USER_DISEÑO"] = dsDiseño;
                    var reporte = new ReportUser {
                        DataSource = Session["DS_USER_DISEÑO"]
                    };
                    ASPxDocumentViewer1.DataBind();
                    ASPxDocumentViewer1.Report = reporte;
                }
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(this, GetType(), "ErrorText", "CallError('Error: " + ex.Message + "');", true);
            }
        }
Exemple #11
0
        /// <summary>
        /// Creates a new web session and return it for a given user.
        /// </summary>
        /// <param name="username">The username for which the session is for.</param>
        /// <returns>A WebSession</returns>
        public WebSession CreateWebSession(string username)
        {
            WebSession webSession = new WebSession();
            ReportUser reportUser = _wrapper.ReportUserRepository.GetOne <ReportUser>(f => f.Username == username);

            if (reportUser != null)
            {
                webSession.Expiry            = DateTime.UtcNow.AddDays(14);
                webSession.ReportUserId      = reportUser.Id;
                webSession.ForReportUsername = username;
                webSession.SessionCookie     = GenerationHelper.CreateRandomString(true, true, false, 32);
                _wrapper.WebSessionRepository.AddOne <WebSession>(webSession);
            }
            return(webSession);
        }
        // ReSharper disable MemberCanBePrivate.Global
        // ReSharper disable MemberCanBeProtected.Global
        // ReSharper disable UnusedMember.Global
        // ReSharper disable UnusedMethodReturnValue.Global
        // ReSharper disable UnusedAutoPropertyAccessor.Global
        // ReSharper disable UnassignedField.Global

        #endregion ReSharper disable

        public static Control GetReport(ReportUser reportUser, string countyElectionKey)
        {
            var stateCode        = Elections.GetStateCodeFromKey(countyElectionKey);
            var countyCode       = Elections.GetCountyCodeFromKey(countyElectionKey);
            var stateElectionKey = Elections.GetStateElectionKeyFromKey(countyElectionKey);

            // We get a dictionary of locals with elections that match the stateElectionKey
            // Key: localCode; Value: local electionKey
            // Locals without an election will not be in the dictionary
            var localElectionDictionary =
                ElectionsOffices.GetLocalElections(stateElectionKey, countyCode);

            if (localElectionDictionary.Count == 0)
            {
                return(null);
            }

            // We also get a dictionary of all local names for the county
            var localNamesDictionary = LocalDistricts.GetNamesDictionary(stateCode,
                                                                         countyCode);

            // For reporting we filter only locals with elections, sort by name,
            // then reorder for vertical presentation
            var reorderedLocals = localNamesDictionary.Where(
                kvp => localElectionDictionary.ContainsKey(kvp.Key))
                                  .OrderBy(kvp => kvp.Value)
                                  .ToList()
                                  .ReorderVertically(MaxCellsInRow);

            var          htmlTable           = CreateHtmlTableWithHeading(reportUser, false);
            HtmlTableRow tr                  = null;
            var          cellsDisplayedInRow = MaxCellsInRow; // force new row

            foreach (var kvp in reorderedLocals)
            {
                var localCode        = kvp.Key;
                var localName        = kvp.Value;
                var localElectionKey = localElectionDictionary[localCode];
                cellsDisplayedInRow = CreateOneAnchorCell(reportUser, htmlTable, ref tr,
                                                          localName, localElectionKey, cellsDisplayedInRow);
            }

            return(htmlTable);
        }
Exemple #13
0
        public bool TryLoginCredentials(string username, string password)
        {
            ReportUser user = _wrapper.ReportUserRepository.GetOne <ReportUser>(f => f.Username == username);

            if (user == null)
            {
                long usercount = _wrapper.ReportUserRepository.Count <ReportUser>(c => c.Id != null);
                if (usercount == 0)
                {
                    ReportUser newUser = new ReportUser();
                    newUser.PasswordHash        = HashPassword(password);
                    newUser.Username            = username;
                    newUser.IsOrganizationAdmin = true;
                    newUser.OrganizationRoles   = new List <string>();
                    newUser.OrganizationRoles.Add("ToolAdmin");
                    _wrapper.ReportUserRepository.AddOne <ReportUser>(newUser);
                    user = newUser;
                }
                else
                {
                    if (SystemShouldAutoCreateAccounts())
                    {
                        ReportUser newUser = new ReportUser();
                        newUser.PasswordHash        = HashPassword(password);
                        newUser.Username            = username;
                        newUser.IsOrganizationAdmin = false;
                        newUser.OrganizationRoles   = new List <string>();
                        _wrapper.ReportUserRepository.AddOne <ReportUser>(newUser);
                        user = newUser;
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            if (VerifyPassword(password, user.PasswordHash))
            {
                return(true);
            }
            return(false);
        }
        public IActionResult SetAdmin([FromBody] ReportUser user)
        {
            var u = DbContext.Users.Where(x => x.Id == user.Id).FirstOrDefault();

            if (u == null)
            {
                return(new StatusCodeResult(500));
            }
            if (u.IsAdmin != user.IsAdmin)
            {
                u.ModifiedDate = DateTime.Now;
                u.IsAdmin      = user.IsAdmin;
            }

            DbContext.SaveChanges();
            return(new JsonResult(
                       user,
                       new JsonSerializerSettings()
            {
                Formatting = Formatting.Indented
            }));
        }
Exemple #15
0
        // ReSharper disable MemberCanBePrivate.Global
        // ReSharper disable VirtualMemberNeverOverriden.Global

        #endregion ReSharper disable

        protected static HtmlTable CreateHtmlTableWithHeading(ReportUser reportUser,
                                                              string stateCode, string countyCode = "")
        {
            var isCountiesReport = string.IsNullOrWhiteSpace(countyCode);

            var htmlTable =
                new HtmlTable {
                CellSpacing = 0, CellPadding = 0, Border = 0
            }.AddCssClasses(
                reportUser == ReportUser.Public ? "tablePage" : "tableAdmin");

            var headerTitle =
                Offices.GetElectoralClassDescription(stateCode, countyCode, string.Empty) +
                (isCountiesReport
          ? " Counties' Elected Representatives"
          : " Local Districts");

            var tr = new HtmlTableRow().AddTo(htmlTable, "trReportGroupHeading");

            new HtmlTableCell
            {
                Align     = "center",
                ColSpan   = MaxCellsInRow,
                InnerHtml = headerTitle
            }.AddTo(tr, "tdReportGroupHeading");

            tr = new HtmlTableRow().AddTo(htmlTable, "trReportDetail");
            new HtmlTableCell
            {
                ColSpan   = MaxCellsInRow,
                InnerHtml =
                    isCountiesReport
            ? "Use these links to view county representatives."
            : "Use these links to view local representatives."
            }.AddTo(tr,
                    "tdReportDetail");

            return(htmlTable);
        }
        // ReSharper disable MemberCanBePrivate.Global
        // ReSharper disable MemberCanBeProtected.Global
        // ReSharper disable UnusedMember.Global
        // ReSharper disable UnusedMethodReturnValue.Global
        // ReSharper disable UnusedAutoPropertyAccessor.Global
        // ReSharper disable UnassignedField.Global

        #endregion ReSharper disable

        public static Control GetReport(ReportUser reportUser, string stateElectionKey)
        {
            var stateCode = Elections.GetStateCodeFromKey(stateElectionKey);

            // We get a dictionary of counties with elections that match the stateElectionKey
            // Key: countyCode; Value: county electionKey
            // Counties without an election will not be in the dictionary
            var countyElectionDictionary =
                ElectionsOffices.GetCountyAndLocalElections(stateElectionKey);

            if (countyElectionDictionary.Count == 0)
            {
                return(null);
            }

            // For reporting we start with all counties for the state (it will be in
            // order by county name). Then we select only those in the election dictionary
            // and reorder for vertical presentation.
            var reorderedCounties = CountyCache.GetCountiesByState(stateCode)
                                    .Where(countyElectionDictionary.ContainsKey)
                                    .ToList()
                                    .ReorderVertically(MaxCellsInRow);

            var          htmlTable           = CreateHtmlTableWithHeading(reportUser, true);
            HtmlTableRow tr                  = null;
            var          cellsDisplayedInRow = MaxCellsInRow; // force new row

            foreach (var countyCode in reorderedCounties)
            {
                var countyName        = CountyCache.GetCountyName(stateCode, countyCode);
                var countyElectionKey = countyElectionDictionary[countyCode];
                cellsDisplayedInRow = CreateOneAnchorCell(reportUser, htmlTable, ref tr,
                                                          countyName, countyElectionKey, cellsDisplayedInRow);
            }

            return(htmlTable);
        }
Exemple #17
0
        public static Control GetReport(ReportUser reportUser, string electionKey, bool openAll = false)
        {
            var reportObject = new ElectionReportResponsive();

            return(reportObject.GenerateReport(reportUser, electionKey, openAll));
        }
Exemple #18
0
        private Control GenerateReport(ReportUser reportUser, string electionKey, bool openAll = false)
        {
            ReportUser = reportUser;

            if (ReportUser == ReportUser.Master)
            {
                var recentElections =
                    Elections.GetLatestElectionsByStateCode(
                        Elections.GetStateCodeFromKey(electionKey));
                _IsMostRecentElection = recentElections.Contains(electionKey,
                                                                 StringComparer.OrdinalIgnoreCase);
            }

            _OpenAll = openAll;
            _DataManager.GetData(electionKey);

            var electoralClass = Elections.GetElectoralClass(electionKey);

            switch (electoralClass)
            {
            case ElectoralClass.USPresident:
                if (Elections.GetElectionTypeFromKey(electionKey) ==
                    Elections.ElectionTypeUSPresidentialPrimary)
                {
                    new USPresidentCategory().Generate(this, electionKey);
                }
                else
                {
                    foreach (var stateCode in StateCache.All51StateCodes)
                    {
                        new USPresidentCategory().Generate(this,
                                                           Elections.InsertStateCodeIntoElectionKey(electionKey, stateCode), true);
                    }
                }
                break;

            case ElectoralClass.USSenate:
                foreach (var stateCode in StateCache.All51StateCodes)
                {
                    new USSenateCategory().Generate(this,
                                                    Elections.InsertStateCodeIntoElectionKey(electionKey, stateCode), true);
                }
                break;

            case ElectoralClass.USHouse:
                foreach (var stateCode in StateCache.All51StateCodes)
                {
                    new USHouseCategory().Generate(this,
                                                   Elections.InsertStateCodeIntoElectionKey(electionKey, stateCode),
                                                   true);
                }
                break;

            case ElectoralClass.USGovernors:
                foreach (var stateCode in StateCache.All51StateCodes)
                {
                    new USGovernorsCategory().Generate(this,
                                                       Elections.InsertStateCodeIntoElectionKey(electionKey, stateCode),
                                                       true);
                }
                break;

            case ElectoralClass.State:
                new USPresidentCategory().Generate(this, electionKey);
                new USSenateCategory().Generate(this, electionKey);
                new USHouseCategory().Generate(this, electionKey);
                new USGovernorsCategory().Generate(this, electionKey);
                new StatewideCategory().Generate(this, electionKey);
                new StateSenateCategory().Generate(this, electionKey);
                new StateHouseCategory().Generate(this, electionKey);
                break;

            case ElectoralClass.County:
                new CountyCategory().Generate(this, electionKey);
                break;

            case ElectoralClass.Local:
                new LocalCategory().Generate(this, electionKey);
                break;
            }

            ReportReferendums(electionKey);

            switch (electoralClass)
            {
            case ElectoralClass.State:
            case ElectoralClass.County:
                if (ReportUser == ReportUser.Master)
                {
                    CreateLowerLevelElectionReports(electionKey);
                }
                else
                {
                    CreateLowerLevelElectionAnchors(electionKey);
                }
                break;
            }

            return(ReportContainer.AddCssClasses("election-report"));
        }
 public AccountPreferencesViewModel(ReportUser user)
 {
     this.user = user;
 }