public IHttpActionResult AddCabinet(Cabinet cabinet) { try { string valiate = ValiateCabinetModel(cabinet); if (!string.IsNullOrEmpty(valiate)) { return(Failure(valiate)); } if (Cabinet.GetByName(cabinet.Name) != null) { return(Failure("该名称已经被使用")); } if (Cabinet.GetByMac(cabinet.AndroidMac) != null) { return(Failure("该硬件编码已经被使用")); } if (!UserController.LoginDictionary.ContainsKey(GetCookie("token"))) { return(Logout()); } UserInfo userCookie = UserController.LoginDictionary[GetCookie("token")]; if (userCookie == null) { return(Logout()); } SystemLog.Add(new SystemLog { Action = "AddCabinet", LogContent = userCookie.Name + "-新增保险柜-" + cabinet.Name, CreateTime = DateTime.Now, UserID = userCookie.ID, RoleID = userCookie.RoleID, DepartmentID = userCookie.DepartmentID, ClientIP = GetIP(), UserName = userCookie.Name, RealName = userCookie.RealName }); cabinet.CreateTime = DateTime.Now; cabinet.IsOnline = false; if (!string.IsNullOrEmpty(cabinet.FirstContactPassword)) { cabinet.FirstContactPassword = AESAlgorithm.Encrypto(cabinet.FirstContactPassword); } if (!string.IsNullOrEmpty(cabinet.SecondContactPassword)) { cabinet.SecondContactPassword = AESAlgorithm.Encrypto(cabinet.SecondContactPassword); } Cabinet.Add(cabinet); return(Success(true)); } catch (Exception ex) { _logger.Error(ex); return(Failure("新增失败")); } }
public void AssemblePersonalComputer() { Cabinet cabinet = new Cabinet("PC Cabinet"); Chassis chassis = new Chassis("PC Chassis"); cabinet.Add(chassis); Bus bus = new Bus("MCA Bus"); bus.Add(new Card("16Mbs Token Ring")); chassis.Add(bus); chassis.Add(new FloppyDisk("3.Bin Floppy")); }
static void Main(string[] args) { var cabinet = new Cabinet("PC Cabinet", 80); var chassis = new Chassis("PC Chassis", 145); var m2ssd = new M2SSD("Kingston SSD"); var ram1 = new RAM("Kingston DDR4 module"); var ram2 = new RAM("Kingston DDR4 module"); chassis.Add(m2ssd); // Adds $50 to the price. chassis.Add(ram1); // Adds $40 to the price. chassis.Add(ram2); // Adds another $40 to the price. cabinet.Add(chassis); Console.WriteLine($"My dream machine net price is {cabinet.NetPrice} USD."); }
// Uses modified code from Chapter 4 "Composite" pattern demo. static void Main(string[] args) { var cabinet = new Cabinet("PC Cabinet", 80); var chassis = new Chassis("PC Chassis", 145); var m2ssd = new M2SSD("Kingston SSD", 50); var ram1 = new RAM("Kingston DDR4 module", 40); var ram2 = new RAM("Kingston DDR4 module", 40); chassis.Add(m2ssd); chassis.Add(ram1); chassis.Add(ram2); cabinet.Add(chassis); var visitor = new PricingVisitor(); cabinet.Accept(visitor); Console.WriteLine($"My dream machine net price is {visitor.TotalPrice} USD."); }
public void Test4() { var cabinet = new Cabinet("PC Cabinet", 100, 100); var chassis = new Chassis("PC Chassis", 55, 45); cabinet.Add(chassis); var bus = new Bus("MCA Bus", 190, 189.99m); bus.Add(new Card("16Mbs Token Ring", 33, 30)); chassis.Add(bus); chassis.Add(new FloppyDisk("3.5in Floppy", 12, 12)); Assert.That(cabinet.Name, Is.EqualTo("PC Cabinet")); Assert.That(cabinet.NetPrice, Is.EqualTo(390)); Assert.That(cabinet.DiscountPrice, Is.EqualTo(376.99m)); }