| Version 4 (modified by , 12 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 12 years ago.
- Packages.jpg (128.9 KB ) - added by 12 years ago.
- ClassDiagram.jpg (475.6 KB ) - added by 12 years ago.
- ActivityDiagram.jpeg (59.4 KB ) - added by 12 years ago.
- UseCaseClassDiagram.jpeg (48.8 KB ) - added by 12 years ago.
- SequenceDiagram.jpeg (109.3 KB ) - added by 12 years ago.
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.
