public ReturnValue SaveSupplier(int id, int type, string name, string person, string phone, string address, bool valid, string remark) { using (var c = new InvoicingContext()) { try { var model = c.Suppliers.FirstOrDefault(p => p.supplierId == id); var hadname = c.Suppliers.FirstOrDefault(p => p.type == type && p.supplierName == name); if (model == null) { #region 添加 if (hadname != null) { return new ReturnValue { status = false, message = "名称已存在,不能重复添加" } } ; model = new Supplier(); model.address = address; model.phone = phone; model.remark = remark; model.supplierName = name; model.type = type; model.person = person; model.valid = valid; c.Suppliers.Add(model); #endregion } else { #region 修改 if (hadname != null && hadname.supplierId != id) { return new ReturnValue { status = false, message = "同种物料已存在,不能重复添加" } } ; model.address = address; model.phone = phone; model.remark = remark; model.supplierName = name; model.person = person; model.valid = valid; c.Entry(model).State = EntityState.Modified; #endregion } c.SaveChanges(); return(new ReturnValue { status = true }); } catch (Exception ex) { return(new ReturnValue { status = false, message = "操作失败:" + ex.Message }); } } }
public ReturnValue SaveDictionary(string type, string key, string value, string lable, string remark) { using (var c = new InvoicingContext()) { try { var m = c.Dictionaries.FirstOrDefault(p => p.dictionaryKey == key); if (type == "add") { #region 添加 if (m != null) { return new ReturnValue { status = false, message = "字典已存在,不能重复添加" } } ; m = new Dictionary(); m.dictionaryKey = key; m.dictionaryLable = lable; m.dictionaryValue = value; m.remark = remark; c.Dictionaries.Add(m); #endregion } else if (type == "edit") { #region 修改 if (m == null) { return new ReturnValue { status = false, message = "字典不存在" } } ; m.dictionaryLable = lable; m.dictionaryValue = value; m.remark = remark; c.Entry(m).State = EntityState.Modified; #endregion } else { return new ReturnValue { status = false, message = "操作类别错误" } }; c.SaveChanges(); return(new ReturnValue { status = true }); } catch (Exception ex) { return(new ReturnValue { status = false, message = "操作失败:" + ex.Message }); } } }
public ReturnValue SaveDepartment(int id, bool valid, string depName, string phone, string leader, string remark) { using (var c = new InvoicingContext()) { try { var model = c.Departments.FirstOrDefault(p => p.depId == id); var hadname = c.Departments.FirstOrDefault(p => p.depName == depName); if (model == null) { #region 添加 if (hadname != null) { return new ReturnValue { status = false, message = "名称已存在,不能重复添加" } } ; model = new Department(); model.depName = depName; model.leader = leader; model.phone = phone; model.remark = remark; model.valid = valid; c.Departments.Add(model); #endregion } else { #region 修改 if (hadname != null && hadname.depId != id) { return new ReturnValue { status = false, message = "名称已存在,不能重复添加" } } ; model.depName = depName; model.leader = leader; model.phone = phone; model.valid = valid; model.remark = remark; c.Entry(model).State = EntityState.Modified; #endregion } c.SaveChanges(); return(new ReturnValue { status = true }); } catch (Exception ex) { return(new ReturnValue { status = false, message = "操作失败:" + ex.Message }); } } }
public CustomerTest() { var builder = new DbContextOptionsBuilder <InvoicingContext>(); builder.UseInMemoryDatabase($"database{Guid.NewGuid()}"); _invoicingContext = new InvoicingContext(builder.Options); _customerService = new CustomerService(_invoicingContext); _parkingService = new ParkingService(_invoicingContext); _parkedService = new ParkedService(_invoicingContext); }
public static InvoicingContext CreateSqliteContext(string databaseName) { var options = new DbContextOptionsBuilder <InvoicingContext>() .UseSqlite(GetSqliteConnection(databaseName)) .Options; var context = new InvoicingContext(options); context.Database.EnsureCreated(); // this will also call HasData return(context); }
private static InvoicingContext CreateContextForSqlServer(string databaseName) { //On a CI machine this should come from some configuration value and the db needs to be accessible var options = new DbContextOptionsBuilder <InvoicingContext>() .UseSqlServer($@"Server=.;Database={databaseName};Trusted_Connection=True;") .Options; var context = new InvoicingContext(options); return(context); }
public List <Function> GetFunctionByRole(int rolesn) { using (var c = new InvoicingContext()) { var list = from f in c.Functions join r in c.FunctionRights on f.functionNo equals r.functionNo where r.roleSn == rolesn orderby r.rightSn ascending select f; return(list.ToList()); } }
public List <Enterprise.Invoicing.Entities.Models.Menu> GetMenuByRole(int rolesn) { using (var c = new InvoicingContext()) { var list = from m in c.Menus join r in c.MenuRights on m.menuNo equals r.menuNo where r.roleSn == rolesn orderby m.menuNo ascending select m; return(list.ToList()); } }
public ParkingService(InvoicingContext context) { _context = context; if (_context.Parkings.Count() == 0) { _context.Parkings.Add(new Parking { Name = "Parking one" }); _context.SaveChanges(); } }
public ReturnValue SaveRole(int id, string name, string remark, bool price) { using (var c = new InvoicingContext()) { try { var model = c.Roles.FirstOrDefault(p => p.roleSn == id); var hadname = c.Roles.FirstOrDefault(p => p.roleName == name); if (model == null) { #region 添加 if (hadname != null) { return new ReturnValue { status = false, message = "角色已存在,不能重复添加" } } ; model = new Role(); model.remark = remark; model.roleName = name; model.showPrice = price; c.Roles.Add(model); #endregion } else { #region 修改 if (hadname != null && hadname.roleSn != id) { return new ReturnValue { status = false, message = "角色已存在,不能重复添加" } } ; model.remark = remark; model.roleName = name; model.showPrice = price; c.Entry(model).State = EntityState.Modified; #endregion } c.SaveChanges(); return(new ReturnValue { status = true }); } catch (Exception ex) { return(new ReturnValue { status = false, message = "操作失败:" + ex.Message }); } } }
public CustomerService(InvoicingContext context) { _context = context; if (_context.Customers.Count() == 0) { _context.Customers.Add(new Customer { Name = "Regular Customer", Type = CustomerType.regular }); _context.Customers.Add(new Customer { Name = "Premium Customer", Type = CustomerType.premium }); _context.SaveChanges(); } }
public bool SaveSendMessage(MsgSend send) { using (var c = new InvoicingContext()) { try { c.MsgSends.Add(send); c.SaveChanges(); return(true); } catch (Exception ex) { return(false); } } }
public bool ChangeEmployeeStatus(int id, bool status) { using (var c = new InvoicingContext()) { try { var model = c.Employees.FirstOrDefault(p => p.staffId == id); model.status = status; c.SaveChanges(); return(true); } catch { return(false); } } }
public bool DeleteRequire(string no) { using (var c = new InvoicingContext()) { try { var r = c.PurchaseRequires.FirstOrDefault(p => p.requireNo == no); if (r != null) { var list = c.PurchaseRequireDetails.Where(p => p.requireNo == no); if (list != null) { foreach (var item in list) { c.PurchaseRequireDetails.Remove(item); } } #region 如果是自动生成,则原订单可再次申请 var order = c.BomOrders.FirstOrDefault(p => p.bomOrderNo == r.bomOrderNo); if (order != null) { var orderdetail = c.BomOrderDetails.Where(p => p.bomOrderNo == order.bomOrderNo).ToList(); if (orderdetail != null) { foreach (var item in orderdetail) { item.hadRequire = false; c.Entry(item).State = EntityState.Modified; } } } #endregion c.PurchaseRequires.Remove(r); c.SaveChanges(); return(true); } return(false); } catch { return(false); } } }
public bool DeleteReturn(string no) { using (var c = new InvoicingContext()) { var model = c.PurchaseReturns.FirstOrDefault(p => p.returnNo == no); if (model != null) { var details = c.PurchaseReturnDetails.Where(p => p.returnNo == no); foreach (var item in details) { c.PurchaseReturnDetails.Remove(item); } c.PurchaseReturns.Remove(model); c.SaveChanges(); return(true); } return(false); } }
public bool ChangeBillStatus(string no, int status, int staff) { using (var c = new InvoicingContext()) { try { var model = c.BillCosts.FirstOrDefault(p => p.billNo == no); if (status == -1) { model.status = 4; model.checkRes = false; } else { if (model.status == 0) { model.status = 1; model.checkRes = true; } else if (model.status == 1) { model.status = 0; model.checkRes = false; } else if (model.status == 4) { model.status = 0; model.checkRes = false; } } model.staffCheck = staff; c.Entry(model).State = EntityState.Modified; c.SaveChanges(); return(true); } catch { return(false); } } }
protected AbstractBaseApiTest() { var optionBuilder = CreateDbOptionsBuilder(); SetupContext = new InvoicingContext(optionBuilder.Options); SetupContext.Database.EnsureDeleted(); SetupContext.Database.EnsureCreated(); AssertContext = new InvoicingContext(optionBuilder.Options); _server = new TestServer(new WebHostBuilder() .ConfigureAppConfiguration((hostincontext, config) => { config.AddInMemoryCollection(); }) .UseEnvironment("Test") .UseStartup <Startup>()); Client = _server.CreateClient(); }
public ReturnValue DeleteRole(int id) { using (var c = new InvoicingContext()) { try { var model = c.Roles.FirstOrDefault(p => p.roleSn == id); c.Roles.Remove(model); c.SaveChanges(); return(new ReturnValue { status = true }); } catch (Exception ex) { return(new ReturnValue { status = false, message = "操作失败:" + ex.Message }); } } }
public ReturnValue DeleteDictionary(string key) { using (var c = new InvoicingContext()) { try { var model = c.Dictionaries.FirstOrDefault(p => p.dictionaryKey == key); c.Dictionaries.Remove(model); c.SaveChanges(); return(new ReturnValue { status = true }); } catch (Exception ex) { return(new ReturnValue { status = false, message = "操作失败:" + ex.Message }); } } }
public ReturnValue DeleteMaterial(string no) { using (var c = new InvoicingContext()) { try { var model = c.Materials.FirstOrDefault(p => p.materialNo == no); c.Materials.Remove(model); c.SaveChanges(); return(new ReturnValue { status = true }); } catch (Exception ex) { return(new ReturnValue { status = false, message = "操作失败:" + ex.Message }); } } }
public ReturnValue UpdatePwd(int staff, string oldpwd, string newpwd) { using (var c = new InvoicingContext()) { var model = c.Employees.FirstOrDefault(p => p.staffId == staff); if (model == null) { return new ReturnValue { status = false, message = "用户不存在" } } ; if (model.isUser == false) { return new ReturnValue { status = false, message = "该员工为非系统用户" } } ; if (!model.status) { return new ReturnValue { status = false, message = "该用户已被锁定" } } ; if (model.userPwd.ToLower() != oldpwd.ToLower()) { return new ReturnValue { status = false, message = "旧密码输入错误" } } ; model.userPwd = newpwd; c.Entry(model).State = EntityState.Modified; c.SaveChanges(); return(new ReturnValue { status = true, message = "" }); } }
public bool SaveRoleFunction(int role, string[] add, string[] delete) { using (var c = new InvoicingContext()) { try { #region 添加 foreach (var item in add) { if (item == "") { continue; } var ha = c.FunctionRights.FirstOrDefault(p => p.roleSn == role && p.functionNo == item); if (ha == null) { FunctionRight r = new FunctionRight(); r.functionNo = item; r.roleSn = role; c.FunctionRights.Add(r); } } c.SaveChanges(); #endregion #region 除 foreach (var item in delete) { var ha = c.FunctionRights.FirstOrDefault(p => p.roleSn == role && p.functionNo == item); if (ha != null) { c.FunctionRights.Remove(ha); } } c.SaveChanges(); #endregion return(true); } catch { return(false); } } }
public ReturnValue SetUser(int id, bool isuer, string userid, string pwd, int role, bool valid, string remark, int utype) { using (var c = new InvoicingContext()) { try { var model = c.Employees.FirstOrDefault(p => p.staffId == id); if (model == null) { return new ReturnValue { status = false, message = "员工不存在" } } ; model.isUser = isuer; model.userId = userid; model.status = valid; model.remark = remark; model.rigthType = utype; if (pwd != "") { model.userPwd = pwd; } if (role != 0) { model.roleSn = role; } c.Entry(model).State = EntityState.Modified; c.SaveChanges(); return(new ReturnValue { status = true }); } catch (Exception ex) { return(new ReturnValue { status = false, message = "操作失败:" + ex.Message }); } } }
public bool ChangeRequireStatus(string no, int status, string checkstaff) { using (var c = new InvoicingContext()) { try { var model = c.PurchaseRequires.FirstOrDefault(p => p.requireNo == no); if (status == -1) { model.status = 4; model.checkStaff = checkstaff; } else { if (model.status == 0) { model.status = 1; } else if (model.status == 1) { model.status = 0; } else if (model.status == 4) { model.status = 0; } model.checkStaff = checkstaff; } c.Entry(model).State = EntityState.Modified; c.SaveChanges(); return(true); } catch { return(false); } } }
public bool ChangeSettleStatus(string no, int status, int staff) { using (var c = new InvoicingContext()) { try { var model = c.Settlements.FirstOrDefault(p => p.settleNo == no); var person = c.Employees.FirstOrDefault(p => p.staffId == staff); if (status == -1) { model.status = 4; } else { if (model.status == 0) { model.status = 1; } else if (model.status == 1) { model.status = 0; } else if (model.status == 4) { model.status = 0; } } model.checkStaff = person != null ? person.staffName : ""; model.checkDate = DateTime.Now; c.Entry(model).State = EntityState.Modified; c.SaveChanges(); return(true); } catch { return(false); } } }
public bool DeletePurchase(string no) { using (var c = new InvoicingContext()) { try { var r = c.Purchases.FirstOrDefault(p => p.purchaseNo == no); if (r != null) { var list = c.PurchaseDetails.Where(p => p.purchaseNo == no); if (list != null) { foreach (var item in list) { //var require = c.PurchaseRequireDetails.FirstOrDefault(p => p.detailSn == item.requireDetailSn); //if (require!=null) //{ // require.buyAmount -= item.poAmount; // c.Entry(require).State = EntityState.Modified; //} c.PurchaseDetails.Remove(item); } } c.Purchases.Remove(r); c.SaveChanges(); return(true); } return(false); } catch { return(false); } } }
public EmployeeService(InvoicingContext invoicingContext) : base(invoicingContext) { }
public InvoicesRepository(InvoicingContext context) => _context = context;
public ReturnValue ChangeReturnStatus(string no, int status, string checkstaff) { using (var c = new InvoicingContext()) { try { var model = c.PurchaseReturns.FirstOrDefault(p => p.returnNo == no); var detail = c.PurchaseReturnDetails.Where(p => p.returnNo == no); if (status == -1) { if (model.status == 1) { foreach (var item in detail) { #region 从审核通过到作废,采购明细数量回去,入库明细数量回去,库存回去 var depot = c.DepotDetails.FirstOrDefault(p => p.depotId == item.depotId && p.materialNo == item.materialNo); if (depot != null) { depot.depotAmount += item.returnAmount; c.Entry(depot).State = EntityState.Modified; } var stock = c.StockInDetails.FirstOrDefault(p => p.detailSn == item.stockinDetailSn); if (stock != null) { stock.returnAmount -= item.returnAmount; c.Entry(stock).State = EntityState.Modified; } var orderdetail = c.PurchaseDetails.FirstOrDefault(p => p.detailSn == item.purchaseDetailSn); if (orderdetail != null) { orderdetail.poRemain -= item.returnAmount; orderdetail.returnAmount -= item.returnAmount; } #endregion } } model.status = 4; model.checkStaff = checkstaff; } else { if (model.status == 0) { model.status = 1; model.checkStaff = checkstaff; foreach (var item in detail) { #region 审核通过 var depot = c.DepotDetails.FirstOrDefault(p => p.depotId == item.depotId && p.materialNo == item.materialNo); if (depot != null) { depot.depotAmount -= item.returnAmount; c.Entry(depot).State = EntityState.Modified; } var stock = c.StockInDetails.FirstOrDefault(p => p.detailSn == item.stockinDetailSn); if (stock != null) { stock.returnAmount += item.returnAmount; c.Entry(stock).State = EntityState.Modified; } var orderdetail = c.PurchaseDetails.FirstOrDefault(p => p.detailSn == item.purchaseDetailSn); if (orderdetail != null) { orderdetail.poRemain += item.returnAmount; orderdetail.returnAmount += item.returnAmount; } #endregion } } else if (model.status == 1) { model.status = 0; model.checkStaff = checkstaff; foreach (var item in detail) { #region 从审核通过到返审,采购明细数量回去,入库明细数量回去,库存回去 var depot = c.DepotDetails.FirstOrDefault(p => p.depotId == item.depotId && p.materialNo == item.materialNo); if (depot != null) { depot.depotAmount += item.returnAmount; c.Entry(depot).State = EntityState.Modified; } var stock = c.StockInDetails.FirstOrDefault(p => p.detailSn == item.stockinDetailSn); if (stock != null) { stock.returnAmount -= item.returnAmount; c.Entry(stock).State = EntityState.Modified; } var orderdetail = c.PurchaseDetails.FirstOrDefault(p => p.detailSn == item.purchaseDetailSn); if (orderdetail != null) { orderdetail.poRemain -= item.returnAmount; orderdetail.returnAmount -= item.returnAmount; } #endregion } } else if (model.status == 4) { model.status = 0; model.checkStaff = checkstaff; } } c.Entry(model).State = EntityState.Modified; c.SaveChanges(); #region 更新采购单是否完工 List <string> hadno = new List <string>(); foreach (var item in detail) { if (hadno.Contains(item.stockinNo)) { continue; } hadno.Add(item.stockinNo); SqlParameter[] sqlparams = new SqlParameter[1]; sqlparams[0] = new SqlParameter("@stockinno", item.stockinNo); var result = (from p in c.Purchases.SqlQuery(" exec usp_over_purchase @stockinno", sqlparams) select p).ToList(); c.SaveChanges(); } #endregion return(new ReturnValue { status = true }); } catch (Exception ex) { return(new ReturnValue { message = "操作失败:" + ex.Message, status = false }); } } }
public ReturnValue SaveReturnDetail(string no, List <ReturnDetailModel> list, int supplier, string remark, string deport) { using (var c = new InvoicingContext()) { try { var model = c.PurchaseReturns.FirstOrDefault(p => p.returnNo == no && p.status == 0); if (model == null) { return new ReturnValue { status = false, message = "不存在采购退单" } } ; if (list == null || list.Count < 1) { return new ReturnValue { status = false, message = "不存在采购退单" } } ; foreach (var item in list) { if (item.type == "") { continue; } if (item.type == "delete") { var d = c.PurchaseReturnDetails.FirstOrDefault(p => p.detailSn == item.returnSn); if (d != null) { c.PurchaseReturnDetails.Remove(d); } } else if (item.type == "edit") { var d = c.PurchaseReturnDetails.FirstOrDefault(p => p.detailSn == item.returnSn); if (d != null) { d.materialNo = item.materialNo; d.returnAmount = item.returnAmount; d.remark = item.remark; d.depotId = item.depotId; c.Entry(d).State = EntityState.Modified; } } else if (item.type == "add") { PurchaseReturnDetail d = new PurchaseReturnDetail(); var order = c.PurchaseDetails.FirstOrDefault(p => p.detailSn == item.purchaseDetailSn); //var stockin = c.StockInDetails.FirstOrDefault(p => p.detailSn == item.stockinDetailSn); //stockin.returnAmount += item.returnAmount; d.materialNo = item.materialNo; d.returnAmount = item.returnAmount; d.returnNo = no; d.depotId = item.depotId; d.remark = item.remark; d.buyPrice = order.poPrice; d.purchaseDetailSn = item.purchaseDetailSn; d.purchaseNo = item.purchaseNo; d.stockinDetailSn = item.stockinDetailSn; d.stockinNo = item.stockinNo; c.PurchaseReturnDetails.Add(d); } } #region 申请单 if (model.remark != remark || model.deportStaff != deport) { model.remark = remark; model.deportStaff = deport; c.Entry(model).State = EntityState.Modified; } #endregion c.SaveChanges(); return(new ReturnValue { status = true, message = "" }); } catch (Exception ex) { return(new ReturnValue { status = false, message = "保存失败:" + ex.Message }); } } }