@@ -7,7 +7,7 @@ using System.Data; | |||||
namespace StuMgmClient | namespace StuMgmClient | ||||
{ | { | ||||
enum ErrCode | |||||
public enum ErrCode | |||||
{ | { | ||||
Success, | Success, | ||||
FailSerial, | FailSerial, | ||||
@@ -18,7 +18,7 @@ namespace StuMgmClient | |||||
ErrData, | ErrData, | ||||
} | } | ||||
public enum FuncCode | |||||
public enum ClientFunc | |||||
{ | { | ||||
VerifLogin = 1, | VerifLogin = 1, | ||||
GetCourseInfo, | GetCourseInfo, | ||||
@@ -36,9 +36,9 @@ namespace StuMgmClient | |||||
[Serializable] | [Serializable] | ||||
public class ClientRequest | public class ClientRequest | ||||
{ | { | ||||
public FuncCode Func; | |||||
public ClientFunc Func; | |||||
public object Object; | public object Object; | ||||
public ClientRequest(FuncCode func, object obj) | |||||
public ClientRequest(ClientFunc func, object obj) | |||||
{ | { | ||||
Func = func; | Func = func; | ||||
Object = obj; | Object = obj; | ||||
@@ -72,8 +72,12 @@ namespace StuMgmClient | |||||
[Serializable] | [Serializable] | ||||
public enum CourseStatusEnum | public enum CourseStatusEnum | ||||
{ | { | ||||
lll, | |||||
...// | |||||
NoStart=0, | |||||
Begin, | |||||
WaitCheckig, | |||||
CheckigSuccess, | |||||
CheckigFail, | |||||
// | |||||
} | } | ||||
[Serializable] | [Serializable] | ||||
@@ -1,5 +1,6 @@ | |||||
using System; | using System; | ||||
using System.Windows.Forms; | using System.Windows.Forms; | ||||
using StuMgmLib.MyNameSpace; | |||||
namespace StuMgmClient | namespace StuMgmClient | ||||
{ | { | ||||
@@ -17,7 +18,7 @@ namespace StuMgmClient | |||||
if (SystemData.InitSystemData() != ErrCode.Success) | if (SystemData.InitSystemData() != ErrCode.Success) | ||||
throw new Exception("初始化异常,请重新启动"); | throw new Exception("初始化异常,请重新启动"); | ||||
} | } | ||||
////账号密码正则校验 | ////账号密码正则校验 | ||||
//public bool RegexUser(string u, string p) | //public bool RegexUser(string u, string p) | ||||
//{ | //{ | ||||
@@ -49,16 +50,16 @@ namespace StuMgmClient | |||||
private void btnSubmit_Click(object sender, EventArgs e) | private void btnSubmit_Click(object sender, EventArgs e) | ||||
{ | { | ||||
Roles userRole; | |||||
string token; | |||||
if (VerifLogin(out userRole, out token) != ErrCode.Success) | |||||
LvErr userRole; | |||||
int token; | |||||
short job_id; | |||||
if (VerifLogin(out job_id, out userRole, out token) != ErrCode.Success) | |||||
return; | return; | ||||
switch (userRole) | switch (userRole) | ||||
{ | { | ||||
case Roles.Student: | |||||
ShowStudentForm(token); | |||||
case LvErr.Student: | |||||
ShowStudentForm(job_id, token); | |||||
break; | break; | ||||
default: | default: | ||||
MessageBox.Show(userRole.ToString()); | MessageBox.Show(userRole.ToString()); | ||||
@@ -66,18 +67,22 @@ namespace StuMgmClient | |||||
} | } | ||||
} | } | ||||
ErrCode VerifLogin(out Roles userRole, out string token) | |||||
ErrCode VerifLogin(out short job_id, out LvErr userRole, out int token) | |||||
{ | { | ||||
ErrCode errcode = SystemCtrl.VerifLogin(txtUserName.Text, txtPassWord.Text, out userRole, out token); | |||||
job_id = 01943; | |||||
//ErrCode errcode = SystemCtrl.VerifLogin(txtUserName.Text, txtPassWord.Text, out userRole, out token); | |||||
ErrCode errcode = SystemCtrl.VerifLogin(job_id, "1", out userRole, out token); | |||||
if (errcode != ErrCode.Success) | if (errcode != ErrCode.Success) | ||||
MessageBox.Show(errcode.ToString()); | MessageBox.Show(errcode.ToString()); | ||||
job_id = 01943; | |||||
return errcode; | return errcode; | ||||
} | } | ||||
void ShowStudentForm(string token) | |||||
void ShowStudentForm(short job_id, int token) | |||||
{ | { | ||||
this.Hide(); | this.Hide(); | ||||
StudentForm stu = new StudentForm(token); | |||||
StudentForm stu = new StudentForm(job_id, token); | |||||
stu.ShowDialog(); | stu.ShowDialog(); | ||||
this.Show(); | this.Show(); | ||||
} | } | ||||
@@ -8,7 +8,7 @@ | |||||
// </auto-generated> | // </auto-generated> | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
namespace StuMgmClient.Properties { | |||||
namespace StuMgmLib.Properties { | |||||
using System; | using System; | ||||
@@ -39,7 +39,7 @@ namespace StuMgmClient.Properties { | |||||
internal static global::System.Resources.ResourceManager ResourceManager { | internal static global::System.Resources.ResourceManager ResourceManager { | ||||
get { | get { | ||||
if (object.ReferenceEquals(resourceMan, null)) { | if (object.ReferenceEquals(resourceMan, null)) { | ||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("StuMgmClient.Properties.Resources", typeof(Resources).Assembly); | |||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("StuMgmLib.Properties.Resources", typeof(Resources).Assembly); | |||||
resourceMan = temp; | resourceMan = temp; | ||||
} | } | ||||
return resourceMan; | return resourceMan; | ||||
@@ -59,5 +59,15 @@ namespace StuMgmClient.Properties { | |||||
resourceCulture = value; | resourceCulture = value; | ||||
} | } | ||||
} | } | ||||
/// <summary> | |||||
/// 查找 System.Drawing.Bitmap 类型的本地化资源。 | |||||
/// </summary> | |||||
internal static System.Drawing.Bitmap 沙漏 { | |||||
get { | |||||
object obj = ResourceManager.GetObject("沙漏", resourceCulture); | |||||
return ((System.Drawing.Bitmap)(obj)); | |||||
} | |||||
} | |||||
} | } | ||||
} | } |
@@ -46,7 +46,7 @@ | |||||
mimetype: application/x-microsoft.net.object.binary.base64 | mimetype: application/x-microsoft.net.object.binary.base64 | ||||
value : The object must be serialized with | value : The object must be serialized with | ||||
: System.Serialization.Formatters.Binary.BinaryFormatter | |||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | |||||
: and then encoded with base64 encoding. | : and then encoded with base64 encoding. | ||||
mimetype: application/x-microsoft.net.object.soap.base64 | mimetype: application/x-microsoft.net.object.soap.base64 | ||||
@@ -60,6 +60,7 @@ | |||||
: and then encoded with base64 encoding. | : and then encoded with base64 encoding. | ||||
--> | --> | ||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | |||||
<xsd:element name="root" msdata:IsDataSet="true"> | <xsd:element name="root" msdata:IsDataSet="true"> | ||||
<xsd:complexType> | <xsd:complexType> | ||||
<xsd:choice maxOccurs="unbounded"> | <xsd:choice maxOccurs="unbounded"> | ||||
@@ -68,9 +69,10 @@ | |||||
<xsd:sequence> | <xsd:sequence> | ||||
<xsd:element name="value" type="xsd:string" minOccurs="0" /> | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||||
</xsd:sequence> | </xsd:sequence> | ||||
<xsd:attribute name="name" type="xsd:string" /> | |||||
<xsd:attribute name="name" use="required" type="xsd:string" /> | |||||
<xsd:attribute name="type" type="xsd:string" /> | <xsd:attribute name="type" type="xsd:string" /> | ||||
<xsd:attribute name="mimetype" type="xsd:string" /> | <xsd:attribute name="mimetype" type="xsd:string" /> | ||||
<xsd:attribute ref="xml:space" /> | |||||
</xsd:complexType> | </xsd:complexType> | ||||
</xsd:element> | </xsd:element> | ||||
<xsd:element name="assembly"> | <xsd:element name="assembly"> | ||||
@@ -85,9 +87,10 @@ | |||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||||
</xsd:sequence> | </xsd:sequence> | ||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" /> | |||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | |||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||||
<xsd:attribute ref="xml:space" /> | |||||
</xsd:complexType> | </xsd:complexType> | ||||
</xsd:element> | </xsd:element> | ||||
<xsd:element name="resheader"> | <xsd:element name="resheader"> | ||||
@@ -114,4 +117,8 @@ | |||||
<resheader name="writer"> | <resheader name="writer"> | ||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
</resheader> | </resheader> | ||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> | |||||
<data name="沙漏" type="System.Resources.ResXFileRef, System.Windows.Forms"> | |||||
<value>..\图片\沙漏.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> | |||||
</data> | |||||
</root> | </root> |
@@ -8,7 +8,7 @@ | |||||
// </auto-generated> | // </auto-generated> | ||||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||||
namespace StuMgmClient.Properties { | |||||
namespace StuMgmLib.Properties { | |||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] | ||||
@@ -88,7 +88,6 @@ | |||||
// | // | ||||
this.btnSumit.Anchor = System.Windows.Forms.AnchorStyles.None; | this.btnSumit.Anchor = System.Windows.Forms.AnchorStyles.None; | ||||
this.btnSumit.BackColor = System.Drawing.Color.Transparent; | this.btnSumit.BackColor = System.Drawing.Color.Transparent; | ||||
// this.btnSumit.BackgroundImage = global::StuMgmClient.Properties.Resources.提交_01__1_; | |||||
this.btnSumit.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; | this.btnSumit.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; | ||||
this.btnSumit.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); | this.btnSumit.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); | ||||
this.btnSumit.FlatAppearance.BorderSize = 0; | this.btnSumit.FlatAppearance.BorderSize = 0; | ||||
@@ -133,7 +132,7 @@ | |||||
this.picTime.Anchor = System.Windows.Forms.AnchorStyles.None; | this.picTime.Anchor = System.Windows.Forms.AnchorStyles.None; | ||||
this.picTime.BackColor = System.Drawing.Color.Transparent; | this.picTime.BackColor = System.Drawing.Color.Transparent; | ||||
this.picTime.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; | this.picTime.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; | ||||
// this.picTime.Image = global::StuMgmClient.Properties.Resources.沙漏; | |||||
this.picTime.Image = ((System.Drawing.Image)(resources.GetObject("picTime.Image"))); | |||||
this.picTime.Location = new System.Drawing.Point(59, 18); | this.picTime.Location = new System.Drawing.Point(59, 18); | ||||
this.picTime.Name = "picTime"; | this.picTime.Name = "picTime"; | ||||
this.picTime.Size = new System.Drawing.Size(60, 53); | this.picTime.Size = new System.Drawing.Size(60, 53); | ||||
@@ -112,12 +112,12 @@ | |||||
<value>2.0</value> | <value>2.0</value> | ||||
</resheader> | </resheader> | ||||
<resheader name="reader"> | <resheader name="reader"> | ||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | |||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | |||||
</resheader> | </resheader> | ||||
<resheader name="writer"> | <resheader name="writer"> | ||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | |||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | |||||
</resheader> | </resheader> | ||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> | |||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> | |||||
<data name="tlpMisson.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | <data name="tlpMisson.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
<value> | <value> | ||||
/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg | /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg | ||||
@@ -294,6 +294,29 @@ | |||||
6iigAooooAKbRRQAUUUUAOFLRRQAUUUUAFFFFABRRRQAUUUUAFFFFAFiMYRafRRQAUUUUAFNI4oooAZR | 6iigAooooAKbRRQAUUUUAOFLRRQAUUUUAFFFFABRRRQAUUUUAFFFFAFiMYRafRRQAUUUUAFNI4oooAZR | ||||
RRQAUUUUAFSCiigBKKKKACiiigAooooAKKKKACnUUUAPooooAbRRRQAUUUUAFFFFABRRRQAlT2x+ZhRR | RRQAUUUUAFSCiigBKKKKACiiigAooooAKKKKACnUUUAPooooAbRRRQAUUUUAFFFFABRRRQAlT2x+ZhRR | ||||
QBZooooAKgmUDkd6KKAIqKKKACiiigApKKKACiiigAooooAKKKKACiiigAooooAmgctwanoooA//2Q== | QBZooooAKgmUDkd6KKAIqKKKACiiigApKKKACiiigAooooAKKKKACiiigAooooAmgctwanoooA//2Q== | ||||
</value> | |||||
</data> | |||||
<data name="picTime.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | |||||
<value> | |||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 | |||||
YQUAAAPsSURBVGhD7VhBaNRAFO1BBA8ePEgR226SLQoKBdGLeCmCgogHDxUE9SxCRUTQY09KEarWTtJS | |||||
tZ5UClYQrIpoD4JWL7XgRVC8KGpLazczu4rYxj/Jz+5PdtKtzWy3h33wsM77+/6fZCbzk4Y66qgCsux3 | |||||
q2nzToPlulYDM3buAJa2NEDxA0BvNTFr53dieZWhMqg15Z3A8irDYG6PyqSG/NDSz7dheUuDac+2Gdd5 | |||||
uyQYTBCziXBcK5kYIjk8oy93JtSaerx1WNbyAIZjxHwMh7VCLhGSw5OFo5QesmhiXp+ACtWdAIvsgXc4 | |||||
rBWGnbtNcvh7AKX0MG3xmZhP47BWGI54RHIAxTGU0gPMnhSNmStwWCvA+1mpeO5lBvKbUEqP2Pr8azg/ | |||||
DZS0wbD5e5LDw2E9yDju4ZK5mDdZ/hBKWtDkFDaDbyHMYdliFCU9aO6dy5Ym4E/iKUpaAOv/EvgukByd | |||||
KOmDLJok8EwndxylVJAtAvhx4Hzg7c5mWaEZZX2QBReLDxK9QSkRsh2p1AbA2ncivoxfQ0k/yu4CHGry | |||||
3QHlCEhDmNiIWeXFf4ccbSjrhzQPkpCkcEaoXjhoTLwVDl6YxGMa41PTslwUkKijLDEQruZdevyr7oB8 | |||||
/MolAmM/wt+FjE+yqoCEyklIWo74IieytXt6fbgHWuy5DaB9iseGXNHiQ5hsbj8kn4wXE9JibreMa+3l | |||||
G1U6ksMmPukb1gKmw49AEVOxonzCnRiSMfJuqHRgAdqSy75RLQDJzymKCjlDNzb8n7bjEcrHKIatHOK9 | |||||
e5EOn4HNe1PGhJ9mwolYjguvjGK87DcBh2XMikBdvJiE/uUshviAg+5GqGf63N04DH1VfkfCBaj+JKJN | |||||
XUB4fD7YAs0YhhRBY1RPGcPhp2lMUpw2mIOiEZJ+pAnhql9BuQw0Lqkwk+VO0DhJy84fRFkv4pvWYHwE | |||||
JSWisclX1rDFeRoLvIeSXoBx5JmfcfhelJSgsYtNoL3LWwP75S3G+h2p1Z/fhbIe+D0QLcgWt1BKRNIm | |||||
VgHPk5K/7r0Qb6WzjrsHpUTEH6OVALHfSjnEOA7rAVzxiyVz/se8KhpR0gbwfU1yeNuHvbUopQccTq9K | |||||
5m4Oh7XCsN1ROgGz71cGpfSQJywxr8oEwPclyeFlGD+FUnqAYdmnRWzSBlFbFuUhaGGhcuPCWHECej8t | |||||
BgkjE4Bu8wIZWz4Zn5Itd30CiwEMyyZg9ot98PcALIPnlSnkvy9Cot8YLJ+RqiyhwEx8pYa1pXjYOlho | |||||
wvIqI/6dcpWwA8urDGjU7igMasr/WlIWE0fhLtyHH/prtdaUHwjkVw4sr4469KGh4R83rROPP3Ze1gAA | |||||
AABJRU5ErkJggg== | |||||
</value> | </value> | ||||
</data> | </data> | ||||
<data name="panHead.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | <data name="panHead.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
@@ -7,7 +7,7 @@ | |||||
<ProjectGuid>{95FDEE92-6C6E-41F1-A1C3-2FCDB1413781}</ProjectGuid> | <ProjectGuid>{95FDEE92-6C6E-41F1-A1C3-2FCDB1413781}</ProjectGuid> | ||||
<OutputType>WinExe</OutputType> | <OutputType>WinExe</OutputType> | ||||
<AppDesignerFolder>Properties</AppDesignerFolder> | <AppDesignerFolder>Properties</AppDesignerFolder> | ||||
<RootNamespace>StuMgmClient</RootNamespace> | |||||
<RootNamespace>StuMgmLib</RootNamespace> | |||||
<AssemblyName>StuMgmClient</AssemblyName> | <AssemblyName>StuMgmClient</AssemblyName> | ||||
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion> | <TargetFrameworkVersion>v2.0</TargetFrameworkVersion> | ||||
<FileAlignment>512</FileAlignment> | <FileAlignment>512</FileAlignment> | ||||
@@ -58,7 +58,6 @@ | |||||
<Compile Include="SystemComm.cs"> | <Compile Include="SystemComm.cs"> | ||||
<SubType>Code</SubType> | <SubType>Code</SubType> | ||||
</Compile> | </Compile> | ||||
<Compile Include="Data.cs" /> | |||||
<Compile Include="SelectFrom.cs"> | <Compile Include="SelectFrom.cs"> | ||||
<SubType>Form</SubType> | <SubType>Form</SubType> | ||||
</Compile> | </Compile> | ||||
@@ -130,6 +129,12 @@ | |||||
<DesignTimeSharedInput>True</DesignTimeSharedInput> | <DesignTimeSharedInput>True</DesignTimeSharedInput> | ||||
</Compile> | </Compile> | ||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | |||||
<ProjectReference Include="..\StuMgmLib\StuMgmLib.csproj"> | |||||
<Project>{34ad3363-1b1c-4f4a-898c-c1a1f215fddd}</Project> | |||||
<Name>StuMgmLib</Name> | |||||
</ProjectReference> | |||||
</ItemGroup> | |||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> | <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> | ||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. | <!-- To modify your build process, add your task inside one of the targets below and uncomment it. | ||||
Other similar extension points exist, see Microsoft.Common.targets. | Other similar extension points exist, see Microsoft.Common.targets. | ||||
@@ -5,6 +5,8 @@ VisualStudioVersion = 12.0.30501.0 | |||||
MinimumVisualStudioVersion = 10.0.40219.1 | MinimumVisualStudioVersion = 10.0.40219.1 | ||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StuMgmClient", "StuMgmClient.csproj", "{95FDEE92-6C6E-41F1-A1C3-2FCDB1413781}" | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StuMgmClient", "StuMgmClient.csproj", "{95FDEE92-6C6E-41F1-A1C3-2FCDB1413781}" | ||||
EndProject | EndProject | ||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StuMgmLib", "..\StuMgmLib\StuMgmLib.csproj", "{34AD3363-1B1C-4F4A-898C-C1A1F215FDDD}" | |||||
EndProject | |||||
Global | Global | ||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||||
Debug|Any CPU = Debug|Any CPU | Debug|Any CPU = Debug|Any CPU | ||||
@@ -15,6 +17,10 @@ Global | |||||
{95FDEE92-6C6E-41F1-A1C3-2FCDB1413781}.Debug|Any CPU.Build.0 = Debug|Any CPU | {95FDEE92-6C6E-41F1-A1C3-2FCDB1413781}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||||
{95FDEE92-6C6E-41F1-A1C3-2FCDB1413781}.Release|Any CPU.ActiveCfg = Release|Any CPU | {95FDEE92-6C6E-41F1-A1C3-2FCDB1413781}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||||
{95FDEE92-6C6E-41F1-A1C3-2FCDB1413781}.Release|Any CPU.Build.0 = Release|Any CPU | {95FDEE92-6C6E-41F1-A1C3-2FCDB1413781}.Release|Any CPU.Build.0 = Release|Any CPU | ||||
{34AD3363-1B1C-4F4A-898C-C1A1F215FDDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||||
{34AD3363-1B1C-4F4A-898C-C1A1F215FDDD}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||||
{34AD3363-1B1C-4F4A-898C-C1A1F215FDDD}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||||
{34AD3363-1B1C-4F4A-898C-C1A1F215FDDD}.Release|Any CPU.Build.0 = Release|Any CPU | |||||
EndGlobalSection | EndGlobalSection | ||||
GlobalSection(SolutionProperties) = preSolution | GlobalSection(SolutionProperties) = preSolution | ||||
HideSolutionNode = FALSE | HideSolutionNode = FALSE | ||||
@@ -1,21 +1,20 @@ | |||||
using System; | using System; | ||||
using System.Windows.Forms; | using System.Windows.Forms; | ||||
using StuMgmLib.MyNameSpace; | |||||
namespace StuMgmClient | namespace StuMgmClient | ||||
{ | { | ||||
public partial class StudentForm : Form | public partial class StudentForm : Form | ||||
{ | { | ||||
string m_token; | |||||
public StudentForm(string token) | |||||
int m_token; | |||||
public StudentForm(short job_id, int token) | |||||
{ | { | ||||
InitializeComponent(); | InitializeComponent(); | ||||
m_token = token; | m_token = token; | ||||
if (SystemCtrl.RefreshUserCourseInfo(token) != ErrCode.Success) | |||||
if (SystemCtrl.RefreshUserCourseInfo(job_id, token) != ErrCode.Success) | |||||
throw new Exception("获取用户信息异常,请重新启动"); | throw new Exception("获取用户信息异常,请重新启动"); | ||||
} | } | ||||
void GetStudentData() | void GetStudentData() | ||||
{ | { | ||||
@@ -3,13 +3,14 @@ using System.Collections.Generic; | |||||
using System.Diagnostics; | using System.Diagnostics; | ||||
using System.Net; | using System.Net; | ||||
using System.Net.Sockets; | using System.Net.Sockets; | ||||
using StuMgmLib.MyNameSpace; | |||||
namespace StuMgmClient | namespace StuMgmClient | ||||
{ | { | ||||
class SystemComm | class SystemComm | ||||
{ | { | ||||
#region 基本函数 | #region 基本函数 | ||||
const int bufSize = 1024 * 1024; | |||||
const int bufSize = 65535; | |||||
static IPEndPoint m_ipEndpoint; | static IPEndPoint m_ipEndpoint; | ||||
static Socket m_socket; | static Socket m_socket; | ||||
static byte[] m_buf; | static byte[] m_buf; | ||||
@@ -66,8 +67,7 @@ namespace StuMgmClient | |||||
m_socket.Close(); | m_socket.Close(); | ||||
} | } | ||||
#endregion | #endregion | ||||
internal static ErrCode GetData(ClientRequest req,out object o) | |||||
internal static ErrCode GetData(ClientRequest req,out ServerResponse o) | |||||
{ | { | ||||
o = null; | o = null; | ||||
@@ -1,29 +1,32 @@ | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Text; | using System.Text; | ||||
using StuMgmClient; | |||||
using StuMgmLib.MyNameSpace; | |||||
using System.Diagnostics; | |||||
namespace StuMgmClient | namespace StuMgmClient | ||||
{ | { | ||||
class SystemCtrl | class SystemCtrl | ||||
{ | { | ||||
internal static ErrCode VerifLogin(string userName, string pawssword, out Roles role, out string token) | |||||
internal static ErrCode VerifLogin(short userName, string pawssword, out LvErr role, out int token) | |||||
{ | { | ||||
role = Roles.Error; | |||||
token = string.Empty; | |||||
role = LvErr.Error; | |||||
token = 0; | |||||
UserInfo cs = new UserInfo(userName, pawssword); | UserInfo cs = new UserInfo(userName, pawssword); | ||||
ClientRequest req = new ClientRequest(FuncCode.VerifLogin, cs); | |||||
ClientRequest req = new ClientRequest(ClientFunc.VerifLogin, cs); | |||||
object o; | |||||
ServerResponse o = new ServerResponse(null); | |||||
ErrCode err = SystemComm.GetData(req, out o); | ErrCode err = SystemComm.GetData(req, out o); | ||||
if (err != ErrCode.Success) | if (err != ErrCode.Success) | ||||
return err; | return err; | ||||
if (!(o is UserInfo)) | |||||
return ErrCode.ErrData; | |||||
//if (!(o.Object is UserInfo)) | |||||
// return ErrCode.ErrData; | |||||
role = ((UserInfo)o).UserRole; | |||||
token = ((UserInfo)o).Token; | |||||
role = o.Lev; | |||||
token = o.Token; | |||||
return ErrCode.Success; | return ErrCode.Success; | ||||
} | } | ||||
@@ -31,26 +34,26 @@ namespace StuMgmClient | |||||
{ | { | ||||
courseInfo = null; | courseInfo = null; | ||||
//****** | //****** | ||||
ClientRequest req = new ClientRequest(FuncCode.GetCourseInfo, null); | |||||
ClientRequest req = new ClientRequest(ClientFunc.GetCourseInfo, null); | |||||
object o; | |||||
ServerResponse o = new ServerResponse(null); | |||||
ErrCode err = SystemComm.GetData(req, out o); | ErrCode err = SystemComm.GetData(req, out o); | ||||
if (err != ErrCode.Success) | if (err != ErrCode.Success) | ||||
return err; | return err; | ||||
if (!(o is List<CourseInfo>)) | |||||
if (!(o.Object is List<CourseInfo>)) | |||||
return ErrCode.ErrData; | return ErrCode.ErrData; | ||||
courseInfo = (List<CourseInfo>)o; | |||||
//courseInfo = (List<CourseInfo>)o; | |||||
return ErrCode.Success; | return ErrCode.Success; | ||||
} | } | ||||
internal static ErrCode RefreshUserCourseInfo(string token) | |||||
internal static ErrCode RefreshUserCourseInfo(short job_id, int token) | |||||
{ | { | ||||
UserCourseInfo info; | UserCourseInfo info; | ||||
ErrCode err; | ErrCode err; | ||||
err = GetUserCourseInfo(token, out info); | |||||
err = GetUserCourseInfo(job_id, token, out info); | |||||
if (err != ErrCode.Success) | if (err != ErrCode.Success) | ||||
return err; | return err; | ||||
@@ -60,21 +63,25 @@ namespace StuMgmClient | |||||
return ErrCode.Success; | return ErrCode.Success; | ||||
} | } | ||||
static ErrCode GetUserCourseInfo(string token ,out UserCourseInfo info) | |||||
static ErrCode GetUserCourseInfo(short job_id, int token, out UserCourseInfo info) | |||||
{ | { | ||||
info = null; | info = null; | ||||
ClientRequest req = new ClientRequest(FuncCode.GetUserCourseInfo, token); | |||||
Dictionary<short, int> dic = new Dictionary<short, int>(); | |||||
dic.Add(job_id, token); | |||||
ClientRequest req = new ClientRequest(ClientFunc.GetUserCourseInfo, dic); | |||||
object o; | |||||
ServerResponse o = new ServerResponse(null); | |||||
ErrCode err = SystemComm.GetData(req, out o); | ErrCode err = SystemComm.GetData(req, out o); | ||||
if (err != ErrCode.Success) | if (err != ErrCode.Success) | ||||
return err; | return err; | ||||
if (!(o is UserCourseInfo)) | |||||
if (!(o.Object is UserCourseInfo)) | |||||
return ErrCode.ErrData; | return ErrCode.ErrData; | ||||
info = (UserCourseInfo)o; | |||||
//info = (UserCourseInfo)o; | |||||
info = (UserCourseInfo)o.Object; | |||||
return ErrCode.Success; | return ErrCode.Success; | ||||
} | } | ||||
@@ -1,7 +1,7 @@ | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Text; | using System.Text; | ||||
using StuMgmLib.MyNameSpace; | |||||
namespace StuMgmClient | namespace StuMgmClient | ||||
{ | { | ||||
class SystemData | class SystemData | ||||
@@ -9,7 +9,6 @@ namespace StuMgmClient | |||||
static Dictionary<short, CourseInfo> allCourseInfo; | static Dictionary<short, CourseInfo> allCourseInfo; | ||||
static Dictionary<short,CourseStatusEnum> allCourseStatus; | static Dictionary<short,CourseStatusEnum> allCourseStatus; | ||||
internal static ErrCode InitSystemData() | internal static ErrCode InitSystemData() | ||||
{ | { | ||||
ErrCode err; | ErrCode err; | ||||
@@ -25,13 +24,33 @@ namespace StuMgmClient | |||||
err = SystemCtrl.GetCourseInfo(out courseInfo); | err = SystemCtrl.GetCourseInfo(out courseInfo); | ||||
if (err != ErrCode.Success) | if (err != ErrCode.Success) | ||||
return err; | return err; | ||||
...//将List<CourseInfo>转为Dictionary<short, CourseInfo> | |||||
//将List<CourseInfo>转为Dictionary<short, CourseInfo> | |||||
//allCourseInfo = courseInfo.ToDictionary(key => key.Id, value => value); | |||||
return ErrCode.Success; | return ErrCode.Success; | ||||
} | } | ||||
internal static ErrCode RefreshUserCourseInfo(UserCourseInfo info) | internal static ErrCode RefreshUserCourseInfo(UserCourseInfo info) | ||||
{ | { | ||||
...//将UserCourseInfo转为Dictionary<short,CourseStatusEnum> | |||||
//将UserCourseInfo转为Dictionary<short,CourseStatusEnum> | |||||
int num = 0; | |||||
short oldTem = 0; | |||||
//切割字符串 | |||||
string[] sArray = info.Details.Split(new char[2] { ':', ';' }); | |||||
foreach (string i in sArray) | |||||
{ | |||||
if (i.Equals("")) { break; } | |||||
short tem = Convert.ToInt16(i); | |||||
num++; | |||||
if (num % 2 != 0) | |||||
{ | |||||
allCourseStatus.Add(tem, CourseStatusEnum.NoStart); | |||||
oldTem = tem; | |||||
} | |||||
else | |||||
{ | |||||
allCourseStatus[oldTem] = (CourseStatusEnum)tem; | |||||
} | |||||
} | |||||
return ErrCode.Success; | return ErrCode.Success; | ||||
} | } | ||||
@@ -1,4 +1,5 @@ | |||||
using System; | |||||
using StuMgmLib.MyNameSpace; | |||||
using System; | |||||
using System.Diagnostics; | using System.Diagnostics; | ||||
using System.IO; | using System.IO; | ||||
using System.Runtime.Serialization.Formatters.Binary; | using System.Runtime.Serialization.Formatters.Binary; | ||||
@@ -25,13 +26,13 @@ namespace StuMgmClient | |||||
} | } | ||||
} | } | ||||
internal static bool BinDeserialize(byte[] data, out object o) | |||||
internal static bool BinDeserialize(byte[] data, out ServerResponse o) | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
MemoryStream ms = new MemoryStream(data); | MemoryStream ms = new MemoryStream(data); | ||||
BinaryFormatter iFormatter = new BinaryFormatter(); | BinaryFormatter iFormatter = new BinaryFormatter(); | ||||
o = iFormatter.Deserialize(ms); | |||||
o = (ServerResponse)iFormatter.Deserialize(ms); | |||||
return true; | return true; | ||||
} | } | ||||
catch (Exception e) | catch (Exception e) | ||||
@@ -0,0 +1,106 @@ | |||||
using System; | |||||
namespace StuMgmLib.MyNameSpace | |||||
{ | |||||
public enum ErrCode | |||||
{ | |||||
Success, | |||||
FailSerial, | |||||
FailDeserial, | |||||
FailConnect, | |||||
FailSend, | |||||
FailReceive, | |||||
ErrData, | |||||
} | |||||
public enum ClientFunc | |||||
{ | |||||
VerifLogin = 1, | |||||
GetCourseInfo, | |||||
GetUserCourseInfo, | |||||
} | |||||
public enum LvErr | |||||
{ | |||||
NotFound = -1, | |||||
Error = -2, | |||||
Admin = 1, | |||||
Teacher = 2, | |||||
Student = 3, | |||||
} | |||||
[Serializable] | |||||
public class ClientRequest | |||||
{ | |||||
public ClientFunc Func; | |||||
public object Object; | |||||
public ClientRequest(ClientFunc func, object obj) | |||||
{ | |||||
Func = func; | |||||
Object = obj; | |||||
} | |||||
} | |||||
[Serializable] | |||||
public class UserInfo | |||||
{ | |||||
public short Account; | |||||
public string Password; | |||||
public Int16 Token; | |||||
public LvErr UserLev; | |||||
public UserInfo(short account, string password) | |||||
{ | |||||
Account = account; | |||||
Password = password; | |||||
} | |||||
} | |||||
[Serializable] | |||||
public class CourseInfo | |||||
{ | |||||
public short Id; | |||||
public short Pid; | |||||
public int Time; | |||||
public string Name; | |||||
public string Content; | |||||
} | |||||
[Serializable] | |||||
public enum CourseStatusEnum | |||||
{ | |||||
NoStart = 0, | |||||
Begin, | |||||
WaitCheckig, | |||||
CheckigSuccess, | |||||
CheckigFail, | |||||
// | |||||
} | |||||
[Serializable] | |||||
public class UserCourseInfo | |||||
{ | |||||
public short JobId;//工号 | |||||
public string Name;//姓名 | |||||
public string Details;//信息描述 | |||||
} | |||||
[Serializable] | |||||
public class ServerResponse | |||||
{ | |||||
public LvErr Lev; | |||||
public int Token; | |||||
public string CourseStatus; | |||||
public object Object; | |||||
public ServerResponse(object obj) | |||||
{ | |||||
Object = obj; | |||||
} | |||||
} | |||||
} | |||||
@@ -35,9 +35,12 @@ | |||||
<Reference Include="System.Xml" /> | <Reference Include="System.Xml" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<Compile Include="MyNameSpace\CommonData.cs"> | |||||
<SubType>Code</SubType> | |||||
</Compile> | |||||
<Compile Include="Properties\AssemblyInfo.cs" /> | <Compile Include="Properties\AssemblyInfo.cs" /> | ||||
<Compile Include="MyNameSpace\StuMgmSer.cs" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup /> | |||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> | <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> | ||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. | <!-- To modify your build process, add your task inside one of the targets below and uncomment it. | ||||
Other similar extension points exist, see Microsoft.Common.targets. | Other similar extension points exist, see Microsoft.Common.targets. | ||||