简单的物流项目实战,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 介绍「 ...
随机推荐
- 一个超详细vue无限滚动vue-infinite-scroll插件的配置及使用详解
开发中总会遇到这种下拉加载的设计方案,Vue实现下拉加载最佳方案自然是使用vue-infinite-scroll来实现.接下来我们一起看下它的配置及使用方式. 首先我们先了解下他的配置参数: v-in ...
- Spring Cloud Stream教程(一)介绍Spring Cloud Stream
Spring Cloud Stream是构建消息驱动的微服务应用程序的框架.Spring Cloud Stream基于Spring Boot建立独立的生产级Spring应用程序,并使用Spring I ...
- box-shadow inset
安卓支持,ios不支持:box-shadow: 0px 0px 2px inset rgba(0,0,0,0.08); 安卓,ios都支持:box-shadow: inset 0px 0px 2px ...
- Linux小记 -- [已解决]Failed to connect to https://changelogs.ubuntu.com/meta-release-lts. Check your Internet connection or proxy settings
问题描述 操作系统:Ubuntu Server 18.04 LTS Ubuntu每次启动时产生如下motd(message of today)输出 Failed to connect to https ...
- Js自定义数组map之bigmap
/** * like map,but prev,curr,next and index will be given * @param {Function} cb Callback,the parame ...
- nginx中lua主动设置Content-Length
最近发现lua调用ngx.say和ngx.print 默认返回的HTTP头是trunk模式的,通常情况下是很好的,没有什么问题:但是要提供给其他人回源的时候就有问题了,特别是我要给slice模块回源, ...
- 555E Case of Computer Network
分析 一个连通块内的肯定不影响 于是我们先缩点 之后对于每个路径 向上向下分别开一个差分数组 如果两个数组同时有值则不合法 代码 #include<bits/stdc++.h> using ...
- MAC截图工具
截图快捷键 ctrl+shift+A
- SpringIOC容器创建过程
在测试时,经常使用这种方式来创建spring容器 //创建基于注解的springIOC容器 ApplicationContext applicationContext = new Annotation ...
- 送书福利| Python 完全自学手册
前言 这里不讨论「能不能学,要不要学,应不应该学 Python」的问题,这里只会告诉你怎么学. 首先需要强调的是,如果 Python 都学不会,那么我建议你考虑别的行业,因为 Python 之简单,令 ...