简单的物流项目实战,WPF的MVVM设计模式(三)
往Services文件里面添加接口以及实现接口
IUserService接口
List<User> GetAllUser();
GetUserService类
ConnectToDatabase connect = new ConnectToDatabase(); ConnectObject connectObject = new ConnectObject();
public List<User> GetAllUser()
{
connectObject.SQLRead = "select * from User";
List<User> users = new List<User>();
SQLiteCommand command = new SQLiteCommand(connectObject.SQLRead, connect.SQLiteConnections);
SQLiteDataReader reader = command.ExecuteReader(); while (reader.Read())
{
User user = new User();
user.UserAccount = reader["UserAccount"].ToString();
user.Password = reader["Password"].ToString();
users.Add(user);
}
return users; }
IRegisteredService接口
User InsertUser(string useraccount, string password);
实现类InsertRegisteredService
ConnectToDatabase connect = new ConnectToDatabase(); ConnectObject connectObject = new ConnectObject();
User insertuser = new User();
public User InsertUser(string useraccount, string password)
{
//User insertuser = new User();
connectObject.SQLInsert = "insert into User (UserAccount,Password) values('" + useraccount + "','" + password + "')";
SQLiteCommand command = new SQLiteCommand(connectObject.SQLInsert, connect.SQLiteConnections);
command.ExecuteNonQuery();
insertuser.Password = password;
insertuser.UserAccount = useraccount;
return insertuser;
}
IExpressService接口
Express GetExpressData();
GetExpressService实现类
ConnectToDatabase connect = new ConnectToDatabase(); ConnectObject connectObject = new ConnectObject();
List<Express> expresses = new List<Express>();
public Express GetExpressData()
{
connectObject.SQLRead = "select * from Express";
SQLiteCommand command = new SQLiteCommand(connectObject.SQLRead, connect.SQLiteConnections);
SQLiteDataReader reader = command.ExecuteReader();
Express expresses = new Express();
while (reader.Read())
{
expresses.Province = reader["Province"].ToString();
expresses.City = reader["City"].ToString();
expresses.Area = reader["Area"].ToString();
expresses.Street = reader["Street"].ToString();
expresses.UserName = reader["UserName"].ToString();
expresses.PhoneNumber = reader["PhoneNumber"].ToString();
expresses.CteateTime = reader["CteateTime"].ToString();
}
return expresses;
}
ICreateExpressService接口
Express InsertExpress(string province, string city, string area, string streat, string username, string phonenumber, string createtime);
InsertExpressService实现类
ConnectToDatabase connect = new ConnectToDatabase(); ConnectObject connectObject = new ConnectObject(); /// <summary>
///
/// </summary>
/// <param name="province">省份</param>
/// <param name="city">城市</param>
/// <param name="area">区域</param>
/// <param name="streat">街道</param>
/// <param name="username">用户名</param>
/// <param name="phonenumber">手机号码</param>
/// <param name="createtime">创建时间</param>
/// <returns></returns>
public Express InsertExpress(string province, string city, string area, string streat, string username, string phonenumber, string createtime)
{
Express express = new Express();
connectObject.SQLInsert = "insert into Express(province,city,area,street,username,phonenumber,cteateTime) values('" + province + "','" + city + "','" + area + "','" + streat + "','" + username + "','" + phonenumber + "','" + createtime+ "')";
SQLiteCommand command = new SQLiteCommand(connectObject.SQLInsert, connect.SQLiteConnections);
command.ExecuteNonQuery(); express.Province = province;
express.City = city;
express.Area = area;
express.Street = streat;
express.UserName = username;
express.PhoneNumber = phonenumber;
express.CteateTime = createtime; return express;
}
服务层就先到这里,下一篇讲ViewModels。谢谢观赏。
简单的物流项目实战,WPF的MVVM设计模式(三)的更多相关文章
- 简单的物流项目实战,WPF的MVVM设计模式(一)
新建一个WPF项目,命名为WMS 然后分别新建文件夹,Data,Models,Views,ViewModels,Services,如下图所示 然后通过NuGet安装连个Nuget包,分别为SQLite ...
- 简单的物流项目实战,WPF的MVVM设计模式(五)
开始界面 <Grid> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> <RowD ...
- 简单的物流项目实战,WPF的MVVM设计模式(四)
接下来写ViewModels 创建运单的ViewModel类 public class CreateExpressWindowViewModel: NotificationObject { priva ...
- 简单的物流项目实战,WPF的MVVM设计模式(二)
往Models文件添加一个类,ConnectObject /// <summary> /// 链接数据库字符串 /// </summary ...
- WPF使用MVVM(三)-事件转命令
WPF使用MVVM(三)-事件转命令 上一节介绍了WPF中的命令,可是仅仅介绍的是WPF框架给我们提供的点击命令,也就是用Command属性来绑定一个命令,用来响应按钮的点击行为!显然这是不够的,界面 ...
- Redis项目实战---应用及理论(三)---Jedis使用
Jedis即redis java客户端,源码地址:https://github.com/xetorthio/jedis pom配置: <dependency> <groupId ...
- 使用MVVM设计模式构建WPF应用程序
使用MVVM设计模式构建WPF应用程序 本文是翻译大牛Josh Smith的文章,WPF Apps With The Model-View-ViewModel Design Pattern,译者水平有 ...
- WPF系列教程——(二)使用Prism实现MVVM设计模式 - 简书
原文:WPF系列教程--(二)使用Prism实现MVVM设计模式 - 简书 本文假设你已经知道MVVM设计模式是什么,所以直接进入正题,今天我们就用Prism来实现WPF的MVVM设计模式,百度上关于 ...
- GraphQL + React Apollo + React Hook 大型项目实战(32 个视频)
GraphQL + React Apollo + React Hook 大型项目实战(32 个视频) GraphQL + React Apollo + React Hook 大型项目实战 #1 介绍「 ...
随机推荐
- PCL智能指针疑云 <三> 智能指针作为函数的传值参数和传引用参数
一 函数的参数传递可以简单分类为“传值”和“传引用”. 声明函数时,形参带引用“&”,则函数调用时,是把实参所在的内存直接传给函数所开辟的栈内存.在函数内对形参的修改相当于对实参也进行修改. ...
- Route53 health check与 Cloudwatch alarm 没法绑定
原因 即使在控制台创建 创建的alarm会在us-east-1 不会再其他区域,目前route53 metric 在其他区域不存在. 所以使用cloudformation 创建 route53 hea ...
- k8s网络通信
K8s有三种网络, 1.节点网络 2.pod网络 3.service集群网络,由kube-proxy来负责
- nginx利用try_files实现多个源
比如一个视频网站,视频资源分散在几台机器上,但是给用要提供统一的IP,路径,端口.就需要nginx,先检查本机是否有改文件,如果没有就代理其他地方 location / { root /data/ww ...
- ORACLE同义词使用
多用户协同开发中,可以屏蔽对象的名字及其持有者.如果没有同义词,当操作其他用户的表时,必须通过user名.object名的形式,采用了Oracle同义词之后就可以隐蔽掉user名, 当然这里要注意的是 ...
- C:\WINDOWS\system32\drivers\etc\hosts文件的作用
在网络上访问网站,要首先通过DNS服务器把网络域名(www.XXXX.com)解析成XXX.XXX.XXX.XXX的IP地址后,我们的计算机才能访问.要是对于每个域名请求我们都要等待域名服务器解析后返 ...
- 安装ubuntu双系统
今天在win7下安装ubuntu14.1双系统,别折磨了一个下午.主要是开机系统引导问题. 引导程序是位于硬盘最前面的一段程序,由于扇区大部分是引导程序,故也成引导扇区.此外包含有硬盘的分区信息,共6 ...
- Vue知识整理14:组件基础
组件:可以复用的实例.使用 v-component来实现 2.通过props属性添加相应的属性,并且在模板中渲染 当模板中包含多个组件时,则需要用一个div来包裹起来.如下: 可以将原来的的点击事件, ...
- cmd 中文显示错误,解决办法
cmd窗口左上角控制按钮(就是图标)上单击-默认-选项-默认编码-936 追问 默认值是936的,但是属性里的当前代码页是437呀,怎么办 囧oz 追答 默认-选项-默认编码-936 不是属性,是 ...
- MAVEN打包时跳过Junit测试
我们知道,通常情况下使用maven package命令打包时,会自动执行test包下的各个单元测试. 这是因为spring-boot-maven-plugin插件已经集成了maven-surefire ...