1, Office.aspx
<h1>
Office Management</h1>
<ul>
<li>
<h2>Basic</h2>
<label for="ddUserTitle">
Office name:</label><asp:TextBox ID="OfficeName" runat="server" CssClass="medText"></asp:TextBox>
<label for="ddUserTitle">
Display Address:</label><asp:TextBox ID="DisplayAdd" runat="server" CssClass="medText"></asp:TextBox>
</li>
<li></li>
</ul>
<ul>
<li>
<label for="ddUserTitle">
Short Description:</label><asp:TextBox ID="ShortDescription" TextMode="MultiLine" Rows="12" Columns="35" runat="server"></asp:TextBox>
</li>
<li>
</li>
</ul>
<ul>
<li>
<h2>Logo</h2>
<br />
<asp:Image ID="logo" runat="server" Height="70"/>
<br />
</li>
<li>
<br /><br />
<asp:FileUpload ID="logoUpload" runat="server" />
<asp:Button ID="btnUploadPic" runat="server" Text="Upload >>" CssClass="submitBtn">
</asp:Button>
<asp:Label ID="warning" runat="server" ForeColor="Red"></asp:Label>
<br /><br /><br /><br />
<asp:Button ID="btnEditOffice" runat="server" Text="Save Details" CssClass="submitBtn">
</asp:Button>
</li>
</ul>
2,Office.aspx.vb
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.SessionState
Imports System.IO
Imports System.Web.Security
Imports GlobalWeb.GConstants
Imports GlobalWeb.UtilityCode
Imports GlobalWeb.GUser
Imports GlobalWeb.General
Imports Microsoft.VisualBasic.ControlChars
Imports System.Web.Services
Imports System.Data.SqlClient
Public Class OfficeUser
Inherits System.Web.UI.Page
Private objFormsId As FormsIdentity = CType(User.Identity, FormsIdentity)
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
load_db()
loadLogo()
OutputUserInfo()
OutputDate()
End If
loadLogo()
OutputUserInfo()
OutputDate()
End Sub
'====================================================
'Function: OutputUserInfo
'Purpose: Output user's credit and their user details
'====================================================
Public Sub OutputUserInfo()
Dim strAgencyName As System.Text.StringBuilder = New System.Text.StringBuilder
strAgencyName.AppendFormat("{0} ({1})", Request.Cookies("AgencyFName").Value & " " & Request.Cookies("AgencySName").Value, Request.Cookies("UserName").Value)
litHeaderName.Text = strAgencyName.ToString
End Sub
Public Sub OutputDate()
litDate.Text = WeekdayName(Weekday(Now.AddDays(-1))) & ", " & Day(Now) & " " & MonthName(Month(Now)) & " " & Year(Now)
End Sub
'====================================================
'Function: load_db()
'Purpose: load the office details
'====================================================
Public Sub load_db()
Dim dc As DAL.findahome.findahomeDataContext = New DAL.findahome.findahomeDataContext()
Dim IdOffice As Integer = dc.Agents.Where(Function(c) c.idUser = objFormsId.Ticket.UserData).Select(Function(d) d.idOffice).FirstOrDefault()
Dim TBS As DAL.findahome.AgencyOffice = dc.AgencyOffices.Where(Function(c) c.idOffice = IdOffice).FirstOrDefault()
OfficeName.Text = TBS.OfficeName
DisplayAdd.Text = TBS.DisplayAddress
ShortDescription.Text = TBS.User.Comments
End Sub
'=======================================================
'Function: btnEditOffice_Click UploadButton_Click
'Purpose: Action when Edit Office & Upload button clicked
'=======================================================
Protected Sub btnEditOffice_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEditOffice.Click
ModifyOffice()
Response.Redirect("/FHsys/OfficeUser.aspx")
End Sub
Protected Sub UploadButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUploadPic.Click
UploadLogoPic()
Response.Redirect("/FHsys/OfficeUser.aspx")
End Sub
'###################################################################################################
Public Sub ModifyOffice()
Using dc As New DAL.findahome.findahomeDataContext()
Dim IdOffice As Integer = dc.Agents.Where(Function(c) c.idUser = objFormsId.Ticket.UserData).Select(Function(d) d.idOffice).FirstOrDefault()
Dim EditOffice As DAL.findahome.AgencyOffice = dc.AgencyOffices.FirstOrDefault(Function(c) c.idOffice = IdOffice)
EditOffice.OfficeName = OfficeName.Text
EditOffice.DisplayAddress = DisplayAdd.Text
EditOffice.User.Comments = ShortDescription.Text
dc.SubmitChanges()
End Using
End Sub
'#########################################################
Public Sub UploadLogoPic()
Using dc As New DAL.findahome.findahomeDataContext()
Dim IdOffice As Integer = dc.Agents.Where(Function(c) c.idUser = objFormsId.Ticket.UserData).Select(Function(d) d.idOffice).FirstOrDefault()
Dim savePath1 As String = Server.MapPath("../upload/logos/" + IdOffice.ToString + "")
If (Directory.Exists(savePath1)) Then
Else
Dim di As DirectoryInfo = Directory.CreateDirectory(savePath1)
End If
Dim savePath As String = Server.MapPath("../upload/logos/" + IdOffice.ToString + "/")
If (logoUpload.HasFile) Then
Dim filename As String = logoUpload.FileName
savePath += filename
logoUpload.SaveAs(savePath)
Session("logofilename") = filename
save_Logo_DB()
warning.Text = "Your file was saved as " + filename
Else
warning.Text = "You did not specify a file to upload!"
End If
End Using
End Sub
Public Sub save_Logo_DB()
Using dc As New DAL.findahome.findahomeDataContext()
Dim IdOffice As Integer = dc.Agents.Where(Function(c) c.idUser = objFormsId.Ticket.UserData).Select(Function(d) d.idOffice).FirstOrDefault()
Dim logocount As Integer = dc.AgencyLogos.Where(Function(c) c.idOffice = IdOffice).Count()
If (logocount > 0) Then
Dim logo_LINQ As DAL.findahome.AgencyLogo = dc.AgencyLogos.FirstOrDefault(Function(c) c.idOffice = IdOffice)
logo_LINQ.PicPath = "4pm.ie__" + Session("logofilename").ToString()
dc.SubmitChanges()
Else
Dim add_logo As DAL.findahome.AgencyLogo = New DAL.findahome.AgencyLogo()
add_logo.idOffice = IdOffice
add_logo.PicPath = "4pm.ie__" + Session("logofilename").ToString()
dc.AgencyLogos.InsertOnSubmit(add_logo)
dc.SubmitChanges()
End If
Session("logofilename") = vbNullString
End Using
End Sub
Public Sub loadLogo()
Using dc As New DAL.findahome.findahomeDataContext()
Dim IdOffice As Integer = dc.Agents.Where(Function(c) c.idUser = objFormsId.Ticket.UserData).Select(Function(d) d.idOffice).FirstOrDefault()
Dim picCount As Integer = dc.AgencyLogos.Where(Function(c) c.idOffice = IdOffice).Count
If (picCount > 0) Then
logo.Visible = True
Dim picpath As String = dc.AgencyLogos.Where(Function(c) c.idOffice = IdOffice).Select(Function(d) d.PicPath).FirstOrDefault
logo.ImageUrl = "http://www.4pm.ie/upload/logos/" + IdOffice.ToString() + "/" + picpath.Remove(0, 8) + ""
Else
logo.Visible = False
warning.Text = "No Logo yet, Please Upload!!!"
End If
End Using
End Sub
End Class