示例#1
0
    protected void buttonUpdateRingtestAdminEmail_OnClick(object sender, EventArgs e)
    {
        if (!Utils.isValidEmail(tbRingtestAdminEmail.Text))
        {
            Utils.displayStatus(ref labelStatus, Color.Red, "Epost-adressen har ugyldig format");
            return;
        }

        try
        {
            Database.Interface.open();
            Database.Configuration configuration = new Database.Configuration();
            if (configuration.select_all_where_name("Default"))
            {
                configuration.RingtestAdminEmail = tbRingtestAdminEmail.Text;
                configuration.update_all_by_name();
                Utils.displayStatus(ref labelStatus, Color.SeaGreen, "Ringtest administrator epost oppdatert");
            }
            else
            {
                Utils.displayStatus(ref labelStatus, Color.Red, "Konfigurasjon 'Default' ikke funnet");
            }
        }
        catch (Exception ex)
        {
            Utils.displayStatus(ref labelStatus, Color.Red, ex.Message);
        }
        finally
        {
            Database.Interface.close();
        }
    }
示例#2
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!Page.IsPostBack)
     {
         try
         {
             Database.Interface.open();
             Database.Configuration config = new Database.Configuration();
             if (config.select_all_where_name("Default"))
             {
                 labelResourcePage.Text = config.News;
             }
             else
             {
                 Utils.reportStatus(ref labelStatus, Color.Red, Lang.Configuration + " " + Lang.not_found);
             }
         }
         catch (Exception ex)
         {
             Utils.reportStatus(ref labelStatus, Color.Red, "ResourcePage.Page_Load: " + ex.Message);
         }
         finally
         {
             Database.Interface.close();
         }
     }
 }
示例#3
0
 protected void buttonUpdateSectionManager_OnClick(object sender, EventArgs e)
 {
     try
     {
         Database.Interface.open();
         Database.Configuration configuration = new Database.Configuration();
         if (configuration.select_all_where_name("Default"))
         {
             configuration.SectionManager = tbSectionManager.Text;
             configuration.update_all_by_name();
             Utils.displayStatus(ref labelStatus, Color.SeaGreen, "Seksjonssjef oppdatert");
         }
         else
         {
             Utils.displayStatus(ref labelStatus, Color.Red, "Konfigurasjon 'Default' ikke funnet");
         }
     }
     catch (Exception ex)
     {
         Utils.displayStatus(ref labelStatus, Color.Red, ex.Message);
     }
     finally
     {
         Database.Interface.close();
     }
 }
示例#4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!HttpContext.Current.User.Identity.IsAuthenticated)
        {
            Response.Redirect("~/Login.aspx");
        }

        if (!Page.IsPostBack)
        {
            textBoxEdit.ImageBrowserURL = "../filemanager/browser/default/browser.html?Connector=../../connectors/aspx/connector.aspx";
            textBoxEdit.LinkBrowserURL  = "../filemanager/browser/default/browser.html?Connector=../../connectors/aspx/connector.aspx";

            textBoxResources.ImageBrowserURL = "../filemanager/browser/default/browser.html?Connector=../../connectors/aspx/connector.aspx";
            textBoxResources.LinkBrowserURL  = "../filemanager/browser/default/browser.html?Connector=../../connectors/aspx/connector.aspx";

            try
            {
                Database.Interface.open();

                Database.Configuration configuration = new Database.Configuration();
                if (configuration.select_all_where_name("Default"))
                {
                    textBoxEdit.Value      = configuration.Start;
                    literalShowConfig.Text = configuration.Start;

                    textBoxResources.Value    = configuration.News;
                    literalShowResources.Text = configuration.News;
                }
                else
                {
                    Utils.displayStatus(ref labelStatusEditConfig, Color.Red, "Konfigurasjonen 'Default' ikke funnet");
                    Utils.displayStatus(ref labelStatusShowConfig, Color.Red, "Konfigurasjonen 'Default' ikke funnet");
                }

                if (!HttpContext.Current.User.IsInRole("Administrator") && !HttpContext.Current.User.IsInRole("Moderator"))
                {
                    tabEditConfig.Enabled = false;

                    tabEditResources.Enabled = false;
                }
            }
            catch (Exception ex)
            {
                Utils.displayStatus(ref labelStatusEditConfig, Color.Red, ex.Message);
                Utils.displayStatus(ref labelStatusShowConfig, Color.Red, ex.Message);
            }
            finally
            {
                Database.Interface.close();
            }
        }
    }
示例#5
0
 protected void Page_Load(object sender, EventArgs e)
 {
     try
     {
         Database.Interface.open();
         Database.Configuration configuration = new Database.Configuration();
         if (configuration.select_all_where_name("Default"))
         {
             labelStartpage.Text = configuration.Start;
         }
     }
     catch (Exception ex)
     {
         Utils.displayStatus(ref labelStatus, Color.Red, ex.Message);
     }
     finally
     {
         Database.Interface.close();
     }
 }
示例#6
0
    public static void reportStatus(ref Label label, Color color, string message)
    {
        displayStatus(ref label, color, message);

        if (ConfigurationManager.AppSettings["ReportSystemCriticalErrors"].ToLower() == "yes")
        {
            if (ConfigurationManager.AppSettings["UseEmail"] == "yes")
            {
                try
                {
                    Database.Configuration configuration = new Database.Configuration();
                    Database.Interface.open();
                    if (!configuration.select_all_where_name("Default"))
                    {
                        return;
                    }

                    MailMessage mail = new MailMessage();
                    mail.To.Add(configuration.RingtestAdminEmail);
                    mail.From         = new MailAddress(configuration.RingtestAdminEmail);
                    mail.BodyEncoding = System.Text.Encoding.Default;
                    mail.IsBodyHtml   = true;
                    mail.Subject      = "LORAKON - Feilmelding";
                    mail.Body         = "LORAKON - Feilmelding&nbsp;&nbsp;&nbsp;&nbsp;" + DateTime.Now.ToLongTimeString() + "<br><br>" + message;
                    SmtpClient smtp = new SmtpClient(ConfigurationManager.AppSettings["MailServer"], Convert.ToInt32(ConfigurationManager.AppSettings["MailServerPort"]));
                    smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                    smtp.Send(mail);
                }
                catch (Exception ex) { }
                finally
                {
                    Database.Interface.close();
                }
            }
        }
    }
示例#7
0
    protected void buttonFrontpageSave_OnClick(object sender, EventArgs e)
    {
        try
        {
            Database.Interface.open();

            Database.Configuration configuration = new Database.Configuration();
            if (configuration.select_all_where_name("Default"))
            {
                configuration.Start = textBoxEdit.Value;

                if (configuration.update_all_by_name())
                {
                    Utils.displayStatus(ref labelStatusEditConfig, Color.SeaGreen, "Startside informasjon oppdatert");
                }
                else
                {
                    Utils.displayStatus(ref labelStatusEditConfig, Color.Red, "Oppdatering av startside informasjon feilet");
                }

                literalShowConfig.Text = textBoxEdit.Value;
            }
            else
            {
                Utils.displayStatus(ref labelStatusEditConfig, Color.Red, "Konfigurasjonen 'Default' ikke funnet");
            }
        }
        catch (Exception ex)
        {
            Utils.displayStatus(ref labelStatusEditConfig, Color.Red, ex.Message);
        }
        finally
        {
            Database.Interface.close();
        }
    }
示例#8
0
    protected void buttonSendRequest_OnClick(object sender, EventArgs e)
    {
        if (ConfigurationManager.AppSettings["UseEmail"] != "yes")
        {
            Utils.displayStatus(ref labelStatus, Color.Red, "Sending av epost er deaktivert");
            return;
        }

        if (String.IsNullOrEmpty(tbCompanyName.Text))
        {
            Utils.displayStatus(ref labelStatus, Color.Red, Lang.Missing_fields);
            return;
        }

        if (textBoxCAPTCHA.Text == Session["CaptchaImageText"].ToString())
        {
            try
            {
                if (String.IsNullOrEmpty(ConfigurationManager.AppSettings["MailServer"]) || String.IsNullOrEmpty(ConfigurationManager.AppSettings["MailServerPort"]))
                {
                    Utils.displayStatus(ref labelStatus, Color.Red, Lang.Email_no_server);
                    return;
                }

                Database.Configuration configuration = new Database.Configuration();
                Database.Interface.open();
                if (!configuration.select_all_where_name("Default"))
                {
                    Utils.displayStatus(ref labelStatus, Color.Red, Lang.Configuration + " " + Lang.not_found);
                    return;
                }
                Database.Interface.close();

                MailMessage mail = new MailMessage();
                mail.To.Add(configuration.RingtestAdminEmail);
                mail.From         = new MailAddress(configuration.RingtestAdminEmail);
                mail.IsBodyHtml   = true;
                mail.BodyEncoding = System.Text.Encoding.Default;
                mail.Subject      = "LORAKON - Konto har glemt passordet";
                mail.Body         = "Konto " + tbCompanyName.Text + " har glemt passordet til LORAKON sidene";
                SmtpClient smtp = new SmtpClient(ConfigurationManager.AppSettings["MailServer"], Convert.ToInt32(ConfigurationManager.AppSettings["MailServerPort"]));
                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtp.Send(mail);

                buttonCancel.Text         = Lang.Back;
                buttonSendRequest.Enabled = false;

                Utils.displayStatus(ref labelStatus, Color.SeaGreen, Lang.Email_sent);
            }
            catch (Exception ex)
            {
                textBoxCAPTCHA.Text = "";
                Utils.displayStatus(ref labelStatus, Color.Red, ex.Message);
            }
        }
        else
        {
            textBoxCAPTCHA.Text = "";
            Utils.displayStatus(ref labelStatus, Color.Red, Lang.Numbers_from_picture_doesnt_match);
        }
    }
示例#9
0
    protected void btnCreatePassword_OnClick(object sender, EventArgs e)
    {
        if (tbPassword1.Text.Length < Membership.MinRequiredPasswordLength)
        {
            Utils.displayStatus(ref labelStatus, Color.Red, "Administrator passordet må ha minst " + Membership.MinRequiredPasswordLength.ToString() + " tegn");
            return;
        }

        if (tbPassword1.Text != tbPassword2.Text)
        {
            Utils.displayStatus(ref labelStatus, Color.Red, "Passordene er ikke like");
            return;
        }

        if (!Utils.isValidEmail(tbEmail.Text))
        {
            Utils.displayStatus(ref labelStatus, Color.Red, "Epost adressen er ikke gyldig");
            return;
        }

        try
        {
            MembershipCreateStatus status = new MembershipCreateStatus();
            MembershipUser         admin  = Membership.CreateUser("Administrator", tbPassword1.Text, tbEmail.Text, "Admin question?", "Admin answer", true, out status);
            if (admin == null)
            {
                Utils.displayStatus(ref labelStatus, Color.Red, "Kan ikke opprette administrator bruker");
                return;
            }

            ProfileCommon prof = (ProfileCommon)ProfileCommon.Create("Administrator", true);
            prof.Name  = "Administrator";
            prof.Phone = "00000000";
            prof.Email = tbEmail.Text;
            prof.Title = "Administrator";
            prof.Save();

            // add roles if missing
            XPathDocument     doc      = new XPathDocument(Server.MapPath("App_Data/roles.xml"));
            XPathNavigator    nav      = doc.CreateNavigator();
            XPathExpression   expr     = nav.Compile("/roles/role");
            XPathNodeIterator iterator = nav.Select(expr);
            while (iterator.MoveNext())
            {
                if (!Roles.RoleExists(iterator.Current.Value))
                {
                    Roles.CreateRole(iterator.Current.Value);
                }

                if (!Roles.IsUserInRole("Administrator", iterator.Current.Value))
                {
                    Roles.AddUserToRole("Administrator", iterator.Current.Value);
                }
            }

            // add configuration if missing
            Database.Interface.open();
            Database.Configuration configuration = new Database.Configuration("Default", "", "", "", "");
            configuration.insert_with_ID_name(Guid.NewGuid(), "Default");

            Utils.displayStatus(ref labelStatus, Color.Green, "Administrator ble opprettet");
            btnCreatePassword.Enabled = false;
            tbPassword1.Enabled       = false;
            tbPassword2.Enabled       = false;
        }
        catch (Exception ex)
        {
            Utils.displayStatus(ref labelStatus, Color.Red, ex.Message);
        }
        finally
        {
            Database.Interface.close();
        }
    }
示例#10
0
    protected void buttonRequestUser_OnClick(object sender, EventArgs e)
    {
        if (String.IsNullOrEmpty(textBoxFullname.Text) ||
            String.IsNullOrEmpty(textBoxAddress.Text) ||
            String.IsNullOrEmpty(textBoxPostal.Text) ||
            String.IsNullOrEmpty(textBoxEmail.Text))
        {
            Utils.displayStatus(ref labelStatus, Color.Red, Lang.Missing_fields);
            return;
        }

        if (!Utils.isValidEmail(textBoxEmail.Text))
        {
            Utils.displayStatus(ref labelStatus, Color.Red, Lang.Email_invalid_address);
            return;
        }

        Database.Configuration configuration = new Database.Configuration();

        try
        {
            if (textBoxCAPTCHA.Text == Session["CaptchaImageText"].ToString())
            {
                Database.Interface.open();

                if (!configuration.select_all_where_name("Default"))
                {
                    Utils.displayStatus(ref labelStatus, Color.Red, Lang.Configuration + " " + Lang.not_found);
                    return;
                }

                Database.PendingAccount pendingAccount = new Database.PendingAccount(
                    textBoxFullname.Text,
                    textBoxContact.Text,
                    textBoxAddress.Text,
                    "Field not active",
                    textBoxPostal.Text,
                    textBoxEmail.Text,
                    textBoxPhone.Text,
                    textBoxMobile.Text,
                    textBoxFax.Text,
                    textBoxWebsite.Text);

                pendingAccount.insert_with_ID(Guid.NewGuid());

                Utils.displayStatus(ref labelStatus, Color.SeaGreen, Lang.Account_request_accepted);
            }
            else
            {
                textBoxCAPTCHA.Text = "";
                Utils.displayStatus(ref labelStatus, Color.Red, Lang.Numbers_from_picture_doesnt_match);
            }
        }
        catch (Exception ex)
        {
            textBoxCAPTCHA.Text = "";
            Utils.reportStatus(ref labelStatus, Color.Red, "CreateUser.buttonRequestUser_OnClick: " + ex.Message);
        }
        finally
        {
            Database.Interface.close();
        }

        if (ConfigurationManager.AppSettings["UseEmail"] == "yes")
        {
            string receip    = textBoxEmail.Text;
            string mailTitle = "Forespørsel om ny LORAKON konto";
            string mailBody  = "Forespørsel om ny LORAKON konto fra " + textBoxFullname.Text;

            buttonCancel.Text         = Resources.Localization.Back;
            buttonRequestUser.Enabled = false;

            clearAllFields();

            try
            {
                if (String.IsNullOrEmpty(ConfigurationManager.AppSettings["MailServer"]) || String.IsNullOrEmpty(ConfigurationManager.AppSettings["MailServerPort"]))
                {
                    Utils.displayStatus(ref labelStatus, Color.Red, Lang.Account_request_accepted + ". " + Lang.Email_no_server);
                    return;
                }

                MailMessage mail = new MailMessage();
                mail.To.Add(configuration.RingtestAdminEmail);
                mail.From         = new MailAddress(configuration.RingtestAdminEmail);
                mail.IsBodyHtml   = true;
                mail.BodyEncoding = System.Text.Encoding.Default;
                mail.Subject      = mailTitle;
                mail.Body         = mailBody;
                SmtpClient smtp = new SmtpClient(ConfigurationManager.AppSettings["MailServer"], Convert.ToInt32(ConfigurationManager.AppSettings["MailServerPort"]));
                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtp.Send(mail);

                Utils.displayStatus(ref labelStatus, Color.SeaGreen, Lang.Account_request_accepted + ". " + Resources.Localization.Email_sent);
            }
            catch (Exception ex)
            {
                Utils.displayStatus(ref labelStatus, Color.Red, ex.Message);
            }
        }
    }
示例#11
0
    protected void buttonCreateAccount_OnClick(object sender, EventArgs e)
    {
        bool accountCreated = false;

        Database.Account account = null;

        if (String.IsNullOrEmpty(tbUserName.Text) ||
            String.IsNullOrEmpty(tbPassword.Text) ||
            String.IsNullOrEmpty(tbEmail.Text) ||
            String.IsNullOrEmpty(tbName.Text) ||
            String.IsNullOrEmpty(tbAddress.Text) ||
            String.IsNullOrEmpty(tbPostal.Text))
        {
            Utils.displayStatus(ref labelStatusCreate, Color.Red, "Mangler informasjon");
            return;
        }

        if (!Utils.isValidEmail(tbEmail.Text))
        {
            Utils.displayStatus(ref labelStatusCreate, Color.Red, "Epost adresse har ugyldig format");
            return;
        }

        if (tbPassword.Text.Length < Membership.MinRequiredPasswordLength)
        {
            Utils.displayStatus(ref labelStatusCreate, Color.Red, "Passordet må ha minst " + Membership.MinRequiredPasswordLength.ToString() + " tegn");
            return;
        }

        if (tbPassword.Text != tbConfirmPassword.Text)
        {
            Utils.displayStatus(ref labelStatusCreate, Color.Red, "Passordene er ikke like");
            return;
        }

        if (String.IsNullOrEmpty(ConfigurationManager.AppSettings["MailServer"]) ||
            String.IsNullOrEmpty(ConfigurationManager.AppSettings["MailServerPort"]))
        {
            Utils.displayStatus(ref labelStatusCreate, Color.Red, "Innstillinger for mailserver mangler");
            return;
        }

        Database.Configuration configuration = new Database.Configuration();

        try
        {
            Membership.ApplicationName = "/Lorakon";

            Database.Interface.open();
            if (!configuration.select_all_where_name("Default"))
            {
                Utils.displayStatus(ref labelStatusCreate, Color.Red, "Finner ikke konfigurasjon");
                return;
            }

            if (Database.Account.accountNameExists(tbName.Text))
            {
                Utils.displayStatus(ref labelStatusCreate, Color.Red, "Navnet " + tbName.Text + " finnes allerede");
                Membership.ApplicationName = "/LorakonAdmin";
                return;
            }

            MembershipCreateStatus status = new MembershipCreateStatus();
            MembershipUser         user   = Membership.CreateUser(tbUserName.Text, tbPassword.Text, tbEmail.Text, "question", "answer", true, out status);
            if (user == null)
            {
                Utils.displayStatus(ref labelStatusCreate, Color.Red, Utils.getErrorMessage(status));
                Membership.ApplicationName = "/LorakonAdmin";
                return;
            }

            account = new Database.Account(
                Guid.Empty, tbName.Text, tbContact.Text, tbAddress.Text, "Field not active",
                tbPostal.Text, tbEmail.Text, tbPhone.Text, tbMobile.Text, tbFax.Text, tbWebsite.Text,
                true, "", 0, 0, "");

            accountCreated = account.insert_with_ID((Guid)user.ProviderUserKey);

            if (!String.IsNullOrEmpty(hiddenPendingUser.Value) && hiddenPendingUser.Value != Guid.Empty.ToString())
            {
                Database.PendingAccount pendingAccount = new Database.PendingAccount();
                if (pendingAccount.select_all_where_ID(new Guid(hiddenPendingUser.Value)))
                {
                    pendingAccount.delete_by_ID();
                }
            }

            ddUsers.DataBind();
            ddAccountsA.DataBind();
        }
        catch (Exception ex)
        {
            Membership.DeleteUser(tbUserName.Text);
            if (accountCreated)
            {
                account.delete_by_ID();
            }
            Utils.displayStatus(ref labelStatusCreate, Color.Red, ex.Message);
            return;
        }
        finally
        {
            Database.Interface.close();
            Membership.ApplicationName = "/LorakonAdmin";
        }

        string userName  = tbUserName.Text;
        string receip    = tbEmail.Text;
        string mailTitle = "Ny LORAKON konto tildelt";
        string mailBody  = @"Velkommen som bruker av LORAKON nettjenester.<br>
Hver bedrift får kun tildelt ett brukernavn og passord. Dersom bedriften har flere ansatte som skal være delaktige i nettverket må brukernavnet og passordet deles mellom disse.<br>
Deres bedrift har fått tildelt følgende brukernavn: " + tbUserName.Text + " og passord: " + tbPassword.Text + @".<br>
For å logge inn på sidene kan følgende lenke benyttes: <a href='" + ConfigurationManager.AppSettings["LorakonURL"] + "'>" + ConfigurationManager.AppSettings["LorakonURL"] + @"</a><br>
NB! Brukernavnet er låst, men brukeren kan selv endre passordet ved behov via siden 'Bedriftens konto'<br><br>
Hilsen Statens Strålevern";

        clearAllCreateFields();
        ddPendingUsers.DataBind();
        ddUsers.DataBind();
        ddAccountsA.DataBind();

        if (ConfigurationManager.AppSettings["UseEmail"] == "yes")
        {
            try
            {
                MailMessage mail = new MailMessage();
                mail.To.Add(receip);
                mail.From         = new MailAddress(configuration.RingtestAdminEmail);
                mail.IsBodyHtml   = true;
                mail.BodyEncoding = System.Text.Encoding.Default;
                mail.Subject      = mailTitle;
                mail.Body         = mailBody;
                SmtpClient smtp = new SmtpClient(ConfigurationManager.AppSettings["MailServer"], Convert.ToInt32(ConfigurationManager.AppSettings["MailServerPort"]));
                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtp.Send(mail);

                Utils.displayStatus(ref labelStatusCreate, Color.SeaGreen, "Bruker " + userName + " ble opprettet, og e-post er sendt til " + receip);
            }
            catch (Exception ex)
            {
                Utils.displayStatus(ref labelStatusCreate, Color.Red, ex.Message);
            }
        }
    }
示例#12
0
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!HttpContext.Current.User.Identity.IsAuthenticated)
            {
                Response.Redirect("~/Login.aspx");
            }

            string[] roles = Roles.GetAllRoles();
            foreach (string s in roles)
            {
                TableRow row = new TableRow();
                tableRoles.Controls.Add(row);
                TableCell cell = new TableCell();
                row.Controls.Add(cell);
                CheckBox cb = new CheckBox();
                cb.Text            = s;
                cb.CssClass        = "TipText";
                cb.AutoPostBack    = true;
                cb.CheckedChanged += new EventHandler(cb_CheckedChanged);
                cell.Controls.Add(cb);
            }

            if (!Page.IsPostBack)
            {
                populateUserList();

                Database.Interface.open();
                Database.Configuration configuration = new Database.Configuration();
                configuration.select_all_where_name("Default");
                tbSectionManager.Text     = configuration.SectionManager;
                tbRingtestAdminEmail.Text = configuration.RingtestAdminEmail;
                Database.Interface.close();

                if (HttpContext.Current.User.IsInRole("Administrator"))
                {
                    tabUser.Enabled = false;
                }
                else
                {
                    tabAdmin.Enabled = false;

                    ProfileCommon prof = Profile.GetProfile(HttpContext.Current.User.Identity.Name);
                    tbEditNameUser.Text  = prof.Name;
                    tbEditTitleUser.Text = prof.Title;
                    tbEditPhoneUser.Text = prof.Phone;
                    tbEditEmailUser.Text = prof.Email;
                }
            }
        }
        catch (Exception ex)
        {
            if (HttpContext.Current.User.IsInRole("Administrator"))
            {
                Utils.displayStatus(ref labelStatus, Color.Red, ex.Message);
            }
            else
            {
                Utils.displayStatus(ref labelStatusUser, Color.Red, ex.Message);
            }
        }

        bool isAdministrator = HttpContext.Current.User.IsInRole("Administrator");

        buttonCreateUser.Enabled           = isAdministrator;
        buttonChangePassword.Enabled       = isAdministrator;
        buttonUpdateUser.Enabled           = isAdministrator;
        buttonDeleteUser.Enabled           = isAdministrator;
        buttonUpdateSectionManager.Enabled = isAdministrator;

        tbCreateUser.Enabled      = isAdministrator;
        tbCreateName.Enabled      = isAdministrator;
        tbCreatePhone.Enabled     = isAdministrator;
        tbCreateTitle.Enabled     = isAdministrator;
        tbCreateEmail.Enabled     = isAdministrator;
        tbCreatePassword.Enabled  = isAdministrator;
        tbCreatePassword2.Enabled = isAdministrator;

        tbEditName.Enabled        = isAdministrator;
        tbEditPhone.Enabled       = isAdministrator;
        tbEditTitle.Enabled       = isAdministrator;
        tbEditEmail.Enabled       = isAdministrator;
        tbChangePassword.Enabled  = isAdministrator;
        tbChangePassword2.Enabled = isAdministrator;

        tbSectionManager.Enabled = isAdministrator;
    }
示例#13
0
    protected void initializePage()
    {
        bool ringtestExists = false;
        bool hasStarted     = false;

        try
        {
            Database.Interface.open();

            Database.Configuration configuration = new Database.Configuration();
            if (!configuration.select_all_where_name("Default"))
            {
                Utils.reportStatus(ref labelStatus, Color.Red, "Ringtest.initializePage: Configuration not found");
                return;
            }

            Database.Ringtest ringtest = new Database.Ringtest();
            if (ringtest.select_all_where_year(DateTime.Now.Year))
            {
                ringtestExists = true;
                if (DateTime.Now >= ringtest.StartDate)
                {
                    hasStarted = true;
                }

                if (hasStarted && ringtest.Finished)
                {
                    multiViewRingtest.SetActiveView(viewFinished);
                    return;
                }
            }

            Database.Account account = new Database.Account();
            if (!account.select_all_where_ID(new Guid(hiddenAccountID.Value)))
            {
                Utils.reportStatus(ref labelStatus, Color.Red, "Ringtest.initializePage: Account not found");
                return;
            }

            if (account.LastRegistrationYear != DateTime.Now.Year)
            {
                if (hasStarted)
                {
                    // send info to admin
                    multiViewRingtest.SetActiveView(viewSendMessage);
                    labelSendMessage.Text = Lang.RingtestAlreadyStarted;
                }
                else
                {
                    multiViewRingtest.SetActiveView(viewRegister);
                    labelRegister.Text = Lang.RingtestAccountNotRegistered;
                }
                return;
            }

            if (hasStarted)
            {
                hiddenRingtestID.Value = ringtest.ID.ToString();
            }
            else
            {
                multiViewRingtest.SetActiveView(viewNoInit);

                if (ringtestExists)
                {
                    labelInit.Text = Lang.RingtestNotStarted + " " + ringtest.StartDate.ToShortDateString();
                }
                else
                {
                    labelInit.Text = Lang.RingtestDateNotDetermined;
                }

                return;
            }

            if (account.RingtestBoxID == Guid.Empty)
            {
                multiViewRingtest.SetActiveView(viewSendMessage);
                labelSendMessage.Text = Lang.RingtestAccountBoxNotAssigned;
                return;
            }
            hiddenRingtestBoxID.Value = account.RingtestBoxID.ToString();

            Database.DeviceCategory category = new Database.DeviceCategory();
            if (!category.select_all_where_name("Detektor"))
            {
                multiViewRingtest.SetActiveView(viewNoInit);
                labelInit.Text = Lang.DatabaseError;
                Utils.reportStatus(ref labelStatus, Color.Red, "Ringtest.initializePage: Category 'Detektor' not found");
                return;
            }

            List <Database.Identifiers> idList = new List <Database.Identifiers>();
            if (!Database.Device.select_identifiers_where_accountID_categoryID_status(account.ID, category.ID, "Ok", ref idList))
            {
                multiViewRingtest.SetActiveView(viewNoInit);
                labelInit.Text = Lang.RingtestNoDetectors1 + " "
                                 + account.Name + Lang.RingtestNoDetectors2 + " "
                                 + configuration.RingtestAdminEmail + " " + Lang.RingtestNoDetectors3;
                return;
            }

            ddDetector.Items.Add(new ListItem("---", Guid.Empty.ToString()));

            foreach (Database.Identifiers ids in idList)
            {
                ddDetector.Items.Add(new ListItem(ids.Name, ids.ID.ToString()));
            }
        }
        catch (Exception ex)
        {
            Utils.reportStatus(ref labelStatus, Color.Red, "Ringtest.initializePage: " + ex.Message);
        }
        finally
        {
            Database.Interface.close();
        }

        multiViewRingtest.SetActiveView(viewSelectDetector);
    }
示例#14
0
    protected void buttonSendMessage_OnClick(object sender, EventArgs e)
    {
        if (ConfigurationManager.AppSettings["UseEmail"] != "yes")
        {
            Utils.displayStatus(ref labelStatusMessage, Color.Red, "Sending av epost er deaktivert");
            return;
        }

        if (String.IsNullOrEmpty(tbMessage.Text))
        {
            Utils.displayStatus(ref labelStatusMessage, Color.Red, Lang.Missing_fields);
            return;
        }

        try
        {
            Database.Interface.open();

            Database.Configuration configuration = new Database.Configuration();
            if (!configuration.select_all_where_name("Default"))
            {
                Utils.displayStatus(ref labelStatusMessage, Color.Red, Lang.Configuration + " " + Lang.not_found);
                return;
            }

            Database.Account account = new Database.Account();
            if (!account.select_all_where_ID(new Guid(hiddenAccountID.Value)))
            {
                Utils.reportStatus(ref labelStatusMessage, Color.Red, "Ringtest.buttonSendMessage_OnClick: account.select_all_where_ID failed");
                return;
            }

            if (!String.IsNullOrEmpty(ConfigurationManager.AppSettings["MailServer"]) && !String.IsNullOrEmpty(ConfigurationManager.AppSettings["MailServerPort"]))
            {
                string mailTitle = "Forespørsel fra LORAKON konto " + account.Name + "(" + account.Email + ")";
                string mailBody  = tbMessage.Text;

                MailMessage mail = new MailMessage();
                mail.To.Add(configuration.RingtestAdminEmail);
                mail.From         = new MailAddress(configuration.RingtestAdminEmail);
                mail.BodyEncoding = System.Text.Encoding.Default;
                mail.IsBodyHtml   = true;
                mail.Subject      = mailTitle;
                mail.Body         = mailBody;
                SmtpClient smtp = new SmtpClient(ConfigurationManager.AppSettings["MailServer"], Convert.ToInt32(ConfigurationManager.AppSettings["MailServerPort"]));
                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtp.Send(mail);

                Utils.displayStatus(ref labelStatusMessage, Color.SeaGreen, Lang.Message_sent);
            }
            else
            {
                Utils.displayStatus(ref labelStatusMessage, Color.Red, Lang.Email_no_server);
            }

            tbMessage.Text = "";
        }
        catch (Exception ex)
        {
            Utils.displayStatus(ref labelStatusMessage, Color.Red, "Ringtest.buttonSendMessage_OnClick: " + ex.Message);
        }
        finally
        {
            Database.Interface.close();
        }
    }