Version 4 (modified by 11 years ago) ( diff ) | ,
---|
'Имплементација на апликацијата CoDBIS во ASP.Net'
Во продолжение се дадени изворните кодови на страниците за регистрација, логирање, внесување лични информации, внесување активности и преглед на биографијата.
За регистрација на корисници
Register.aspx.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using Microsoft.AspNet.Membership.OpenAuth; namespace CoDBIS.Account { public partial class Register : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { RegisterUser.ContinueDestinationPageUrl = Request.QueryString["ReturnUrl"]; } protected void RegisterUser_CreatedUser(object sender, EventArgs e) { FormsAuthentication.SetAuthCookie(RegisterUser.UserName, createPersistentCookie: false); string continueUrl = RegisterUser.ContinueDestinationPageUrl; if (!OpenAuth.IsLocalUrl(continueUrl)) { continueUrl = "AddInfo.aspx"; } Response.Redirect(continueUrl); } } } Register.aspx <%@ Page Title="Register" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Register.aspx.cs" Inherits="CoDBIS.Account.Register" %> <asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent"> <hgroup class="title"> <h1>Регистрирај се.</h1> <h2>Искористете ја формата подолу за да креирате нова корисничка сметка.</h2> </hgroup> <asp:CreateUserWizard runat="server" ID="RegisterUser" ViewStateMode="Disabled" OnCreatedUser="RegisterUser_CreatedUser" CompleteSuccessText="Вашата корисничка сметка е успешно креирана." DuplicateEmailErrorMessage="Е-маил адресата што ја внесовте е веќе во употреба. Ве молиме внесете друга е-меил адреса." DuplicateUserNameErrorMessage="Ве молиме внесете друго корисничко име." InvalidAnswerErrorMessage="Ве молиме внесете друг сигурносен одговор." InvalidEmailErrorMessage="Ве молиме внесете валидна е-меил адреса." InvalidPasswordErrorMessage="Должината на лозинката мора да е минимум: {0}. Потребни се алфа-нумерички карактери: {1}." InvalidQuestionErrorMessage="Ве молиме внесете друго сигурносно прашање." UnknownErrorMessage="Вашата корисничка сметка не е креирана. Ве молиме обидете се повторно."> <LayoutTemplate> <asp:PlaceHolder runat="server" ID="wizardStepPlaceholder" /> <asp:PlaceHolder runat="server" ID="navigationPlaceholder" /> </LayoutTemplate> <WizardSteps> <asp:CreateUserWizardStep runat="server" ID="RegisterUserWizardStep"> <ContentTemplate> <p class="message-info"> Лозинката мора да има повеќе од <%: Membership.MinRequiredPasswordLength %> карактери. </p> <p class="validation-summary-errors"> <asp:Literal runat="server" ID="ErrorMessage" /> </p> <fieldset> <legend>Registration Form</legend> <ol> <li> <asp:Label runat="server" AssociatedControlID="UserName">Корисничко име</asp:Label> <asp:TextBox runat="server" ID="UserName" /> <asp:RequiredFieldValidator runat="server" ControlToValidate="UserName" CssClass="field-validation-error" ErrorMessage="Полето за корисничко име е задолжително." /> </li> <li> <asp:Label runat="server" AssociatedControlID="Email">Електронска адреса</asp:Label> <asp:TextBox runat="server" ID="Email" TextMode="Email" /> <asp:RequiredFieldValidator runat="server" ControlToValidate="Email" CssClass="field-validation-error" ErrorMessage="Полето за електронска адреса е задолжително." /> </li> <li> <asp:Label runat="server" AssociatedControlID="Password">Лозинка</asp:Label> <asp:TextBox runat="server" ID="Password" TextMode="Password" /> <asp:RequiredFieldValidator runat="server" ControlToValidate="Password" CssClass="field-validation-error" ErrorMessage="Полето за лозинка е задолжително." /> </li> <li> <asp:Label runat="server" AssociatedControlID="ConfirmPassword">Потврди ја лозинката</asp:Label> <asp:TextBox runat="server" ID="ConfirmPassword" TextMode="Password" /> <asp:RequiredFieldValidator runat="server" ControlToValidate="ConfirmPassword" CssClass="field-validation-error" Display="Dynamic" ErrorMessage="Полето за потврда на електронската адреса е задолжително." /> <asp:CompareValidator runat="server" ControlToCompare="Password" ControlToValidate="ConfirmPassword" CssClass="field-validation-error" Display="Dynamic" ErrorMessage="Лозинките не се совпаѓаат." /> </li> </ol> <asp:Button runat="server" CommandName="MoveNext" Text="Регистрирај се" /> </fieldset> </ContentTemplate> <CustomNavigationTemplate /> </asp:CreateUserWizardStep> </WizardSteps> </asp:CreateUserWizard> </asp:Content>
За логирање на корисници
Login.aspx.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Microsoft.AspNet.Membership.OpenAuth; using System.Web.Security; namespace CoDBIS.Account { public partial class Login : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { RegisterHyperLink.NavigateUrl = "Register.aspx"; var returnUrl = HttpUtility.UrlEncode(Request.QueryString["ReturnUrl"]); if (!String.IsNullOrEmpty(returnUrl)) { RegisterHyperLink.NavigateUrl += "?ReturnUrl=" + returnUrl; } } } } Login.aspx <%@ Page Title="Login" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="CoDBIS.Account.Login" %> <%@ Register Src="~/Account/OpenAuthProviders.ascx" TagPrefix="uc" TagName="OpenAuthProviders" %> <asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent"> <hgroup class="title"> <h1>Најавете се.</h1> </hgroup> <section id="loginForm"> <h2>Искористете ги вашето корисничко име и лозинката за да се најавите на апликацијата.</h2> <asp:Login runat="server" DestinationPageUrl="~/Account/MyBiography.aspx" ViewStateMode="Disabled" RenderOuterTable="false" FailureText="Вашиот обид за најава е неуспешен. Ве молиме обидете се повторно." PasswordRequiredErrorMessage="Лозинката е задолжителна." UserNameRequiredErrorMessage="Корисничкото име е задолжително." RememberMeText="Запомни ме следниот пат." LoginButtonText="Најави се"> <LayoutTemplate> <p class="validation-summary-errors"> <asp:Literal runat="server" ID="FailureText" /> </p> <fieldset> <legend>Log in Form</legend> <ol> <li> <asp:Label runat="server" AssociatedControlID="UserName">Корисничко име</asp:Label> <asp:TextBox runat="server" ID="UserName"/> <asp:RequiredFieldValidator runat="server" ControlToValidate="UserName" CssClass="field-validation-error" ErrorMessage="Полето за корисничко име е задолжително." /> </li> <li> <asp:Label runat="server" AssociatedControlID="Password">Лозинка</asp:Label> <asp:TextBox runat="server" ID="Password" TextMode="Password"/> <asp:RequiredFieldValidator runat="server" ControlToValidate="Password" CssClass="field-validation-error" ErrorMessage="Полето за лозинка е задолжително." /> </li> <li> <asp:CheckBox runat="server" ID="RememberMe" /> <asp:Label runat="server" AssociatedControlID="RememberMe" CssClass="checkbox">Запомни ме?</asp:Label> </li> </ol> <asp:Button ID="btnLogin" runat="server" CommandName="Login" Text="Најави се"/> </fieldset> </LayoutTemplate> </asp:Login> <p> Ако немате корисничка сметка <asp:HyperLink runat="server" ID="RegisterHyperLink" ViewStateMode="Disabled">Регистрирајте се</asp:HyperLink> .</p> </section> </asp:Content>
Додавање лични податоци за корисникот
Addinfo.aspx.cs using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace CoDBIS.Account { public partial class AddInfo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string korisnik = User.Identity.Name; lblUserName.Text = korisnik; } protected void btnAdd_Click(object sender, EventArgs e) { string connString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; SqlConnection conn = new SqlConnection(connString); conn.Open(); string updateCommand = "UPDATE [Users] SET [PlaceOfBirth]=@PlaceOfBirth, [Gender]=@Gender, [DateOfBirth]=@DateOfBirth, [Position]=@Position, [FirstNameLastName]=@FirstNameLastName, [Employer]=@Employer, [EducationLevel]=@EducationLevel, [EducationInstitution]=@EducationInstitution WHERE ([UserName]=@UserName)"; SqlCommand cmd = new SqlCommand(updateCommand, conn); cmd.Parameters.AddWithValue("@PlaceOfBirth", txtMesto.Text); cmd.Parameters.AddWithValue("@Gender", rblPol.SelectedValue.ToString()); cmd.Parameters.AddWithValue("@DateOfBirth", Convert.ToDateTime( txtDatum.Text)); cmd.Parameters.AddWithValue("@Position", txtPozicija.Text); cmd.Parameters.AddWithValue("@FirstNameLastName", txtImePrezime.Text); cmd.Parameters.AddWithValue("@Employer", txtVrabotenVo.Text); cmd.Parameters.AddWithValue("@EducationLevel", txtObrazovanie.Text); cmd.Parameters.AddWithValue("@EducationInstitution", txtInstitucija.Text); cmd.Parameters.AddWithValue("@UserName", lblUserName.Text); cmd.ExecuteNonQuery(); conn.Close(); lblMessage.Text = "Вашите податоци се успешно зачувани."; txtImePrezime.Text = ""; txtMesto.Text = ""; txtDatum.Text = ""; txtObrazovanie.Text = ""; txtInstitucija.Text = ""; txtVrabotenVo.Text = ""; txtPozicija.Text = ""; } protected void BirthCalendar_SelectionChanged(object sender, EventArgs e) { txtDatum.Text = BirthCalendar.SelectedDate.ToString("dd/MM/yyyy"); } } } Addinfo.aspx <%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="AddInfo.aspx.cs" Inherits="CoDBIS.Account.AddInfo" %> <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server"> <style type="text/css"> .auto-style1 { width: 100%; } .auto-style2 { width: 350px; } .auto-style3 { width: 150px; } </style> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="FeaturedContent" runat="server"> </asp:Content> <asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server"> <h3>Дополнете ги следниве податоци за да ги комплетирате/ажурирате Вашите кориснички податоци или кликнете на копчето Продолжи ако сакате подоцна да ги внесете овие податоци:</h3> <asp:Label ID="lblUserName" runat="server" Text="" Visible="false"></asp:Label> <br /> <h3 class="message-success"> <asp:Label ID="lblMessage" runat="server" Text=""></asp:Label></h3> <table class="auto-style1"> <tr> <td class="auto-style2"> <asp:Label ID="lblImePrezime" runat="server" Text="Име и презиме: "></asp:Label></td> <td class="auto-style3"> <asp:TextBox ID="txtImePrezime" runat="server"></asp:TextBox></td> </tr> <tr> <td class="auto-style2"> </td> <td class="auto-style3"> </td> </tr> <tr> <td class="auto-style2"> <asp:Label ID="lblPol" runat="server" Text="Пол: "></asp:Label> </td> <td class="auto-style3"> <asp:RadioButtonList ID="rblPol" runat="server" Height="50px" Width="139px"> <asp:ListItem Value="M" Selected="True">Машки</asp:ListItem> <asp:ListItem Value="F">Женски</asp:ListItem> </asp:RadioButtonList></td> </tr> <tr> <td class="auto-style2"> </td> <td class="auto-style3"> </td> </tr> <tr> <td class="auto-style2"> <asp:Label ID="lblMesto" runat="server" Text="Место на раѓање: "></asp:Label></td> <td class="auto-style3"> <asp:TextBox ID="txtMesto" runat="server"></asp:TextBox></td> </tr> <tr> <td class="auto-style2"> </td> <td class="auto-style3"> </td> </tr> <tr> <td class="auto-style2"> <asp:Label ID="lblDatum" runat="server" Text="Датум на раѓање: "></asp:Label></td> <td class="auto-style3"> <asp:TextBox ID="txtDatum" runat="server"></asp:TextBox> </td> <td> <asp:Calendar ID="BirthCalendar" runat="server" OnSelectionChanged="BirthCalendar_SelectionChanged"></asp:Calendar> </td> </tr> <tr> <td class="auto-style2"> </td> <td class="auto-style3"> </td> <td> </td> </tr> <tr> <td class="auto-style2"> <asp:Label ID="lblObrazovanie" runat="server" Text="Ниво на образование: "></asp:Label></td> <td class="auto-style3"> <asp:TextBox ID="txtObrazovanie" runat="server"></asp:TextBox></td> </tr> <tr> <td class="auto-style2"> </td> <td class="auto-style3"> </td> </tr> <tr> <td class="auto-style2"> <asp:Label ID="lblInstitucija" runat="server" Text="Име на образовната институција: "></asp:Label></td> <td class="auto-style3"> <asp:TextBox ID="txtInstitucija" runat="server"></asp:TextBox></td> </tr> <tr> <td class="auto-style2"> </td> <td class="auto-style3"> </td> </tr> <tr> <td class="auto-style2"> <asp:Label ID="lblVrabotenVo" runat="server" Text="Вработен во: "></asp:Label></td> <td class="auto-style3"> <asp:TextBox ID="txtVrabotenVo" runat="server"></asp:TextBox></td> </tr> <tr> <td class="auto-style2"> </td> <td class="auto-style3"> </td> </tr> <tr> <td class="auto-style2"> <asp:Label ID="lblPozicija" runat="server" Text="Работна позиција: "></asp:Label></td> <td class="auto-style3"> <asp:TextBox ID="txtPozicija" runat="server"></asp:TextBox></td> </tr> <tr> <td class="auto-style2"> </td> <td class="auto-style3"> </td> </tr> <tr> <td class="auto-style2"> </td> <td class="auto-style3"> <asp:Button ID="btnAdd" runat="server" Text="Зачувај" OnClick="btnAdd_Click" /> </td> </tr> <tr> <td class="auto-style2"> </td> <td class="auto-style3"></td> </tr> <tr> <td class="auto-style2"> </td> <td class="auto-style3"> <asp:Button ID="Button2" runat="server" PostBackUrl="~/Account/MyBiography.aspx" Text="Продолжи" /> </td> </tr> </table> <br /> <br /> </asp:Content>
Inserting.aspx.cs-внес на нова активност за логираниот корисник и додавање на корисник кон веќе постоечка активност
using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; namespace CoDBIS.Account { public partial class Inserting : System.Web.UI.Page { string identity; protected void Page_Load(object sender, EventArgs e) { string korisnik = User.Identity.Name; lblUsername.Text = korisnik; string userId = Membership.GetUser().ProviderUserKey.ToString(); lblUserID.Text = userId; } protected void btnInsert_Click(object sender, EventArgs e) { string connString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; SqlConnection conn = new SqlConnection(connString); conn.Open(); string insertCommand1 = "insert into [Activities] (Name, Category, Place, Date) values (@Name, @Category, @Place, @Date)"; insertCommand1 += "; SELECT SCOPE_IDENTITY() ; "; SqlCommand cmd1 = new SqlCommand(insertCommand1, conn); cmd1.Parameters.AddWithValue("@Name", txtName.Text); cmd1.Parameters.AddWithValue("@Category", txtCategory.Text); cmd1.Parameters.AddWithValue("@Place", txtPlace.Text); cmd1.Parameters.AddWithValue("@Date", Convert.ToDateTime(txtDate.Text)); identity = cmd1.ExecuteScalar().ToString(); lblActivityID.Text = identity; string insertCommand2 = "insert into [UsersOnActivities] (NameOfRole, UserID, ActivityID) values (@NameOfRole, @UserID, @ActivityID)"; SqlCommand cmd2 = new SqlCommand(insertCommand2, conn); cmd2.Parameters.AddWithValue("@NameOfRole", txtRole.Text); cmd2.Parameters.AddWithValue("@UserID", lblUserID.Text); cmd2.Parameters.AddWithValue("@ActivityID", lblActivityID.Text); cmd2.ExecuteNonQuery(); conn.Close(); lblMessage.Text = "Активноста е успешно внесена во Вашата биографија."; txtName.Text = ""; txtCategory.Text = ""; txtPlace.Text = ""; txtDate.Text = ""; txtRole.Text = ""; } protected void btnShow_Click(object sender, EventArgs e) { gvMe.Visible = true; } protected void btnAddMe_Click(object sender, EventArgs e) { foreach (GridViewRow row in gvMe.Rows) { if (((CheckBox)row.FindControl("CheckBox1")).Checked) { int ActivityID = Convert.ToInt32(gvMe.DataKeys[row.RowIndex].Value); lblExistingActivity.Text = ActivityID.ToString(); string connString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; SqlConnection conn = new SqlConnection(connString); conn.Open(); string insertCommand3 = "insert into [UsersOnActivities] (NameOfRole, UserID, ActivityID) values (@NameOfRole, @UserID, @ActivityID)"; SqlCommand cmd3 = new SqlCommand(insertCommand3, conn); cmd3.Parameters.AddWithValue("@NameOfRole", txtRoleOnExisting.Text); cmd3.Parameters.AddWithValue("@UserID", lblUserID.Text); cmd3.Parameters.AddWithValue("@ActivityID", lblExistingActivity.Text); cmd3.ExecuteNonQuery(); conn.Close(); lblMessage.Text = "Успешно сте додадени на активноста."; } } } } }
Inserting.aspx.cs-внес на нова активност за логираниот корисник и додавање на корисник кон веќе постоечка активност
Attachments (6)
- AssemblyDependencies.jpg (487.1 KB ) - added by 11 years ago.
- Packages.jpg (128.9 KB ) - added by 11 years ago.
- ClassDiagram.jpg (475.6 KB ) - added by 11 years ago.
- ActivityDiagram.jpeg (59.4 KB ) - added by 11 years ago.
- UseCaseClassDiagram.jpeg (48.8 KB ) - added by 11 years ago.
- SequenceDiagram.jpeg (109.3 KB ) - added by 11 years ago.
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.