简单的物流项目实战,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 介绍「 ...
随机推荐
- hdu 1754 线段树 水题 单点更新 区间查询
I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- mac 绑定阿里企业邮箱
注意事项: 1. 收件服务器 千万得写对, 选 pop 就写 pop.mxhichina.com; 选 imap 就写 imap.mxhichina.com 2. 发件服务器 必须写,smtp.mxc ...
- Xshell Linux常用命令
Xshell :一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议. 0 帮助 命令 与清屏 help 查看帮助命令 ls ...
- [CSP-S模拟测试]:括号密码(贪心)
题目描述 在“无限神机”的核心上,有一个奇怪的括号密码,密码初始已经有一个括号序列,有$n$个限制条件,每个限制条件描述为$l_i$和$r_i$,表示区间$[l_i,r_i]$的括号序列必须合法.调整 ...
- Phaser3 场景Scene之间的传值 -- HTML网页游戏开发
一.首先当然得有至少有二个场景sceneA.js,sceneB.js 二.从场景A传值到场景B二种方法 1)通过事件this.events.emit('event key',{objKey:objVa ...
- Python 使用PyQt5进行开发(一)
Qt 是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架.它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器. 我们先简单使用Qt进行一个小工 ...
- ACL 2019 分析
ACL 2019 分析 word embedding 22篇! Towards Unsupervised Text Classification Leveraging Experts and Word ...
- np.random.shuffle(x)与np.random.permutation(x)
来自:https://blog.csdn.net/brucewong0516/article/details/79012233 将数组打乱随机排列 两种方法: np.random.shuffle(x) ...
- 【奇技淫巧】过滤了字母和数字,如何写 shell
日期:2018-08-13 11:56:26 作者:Bay0net 介绍:金融行业正式比赛的一个题目 0x01.题目信息 文中给了一个代码 <?php include 'flag.php'; i ...
- laravel 添加后台登陆守护器
后台不能在一个浏览器登陆,下面简单配置下即可解决这个问题. 设置路由如下: <?php /** * 后台路由,从Illuminate\Routing\Router控制器的auth()方法中复制过 ...