public OpResult SetState(string ids, short state) { var idlist = ids.Split(',').Select(o => int.Parse(o)); var list = DeviceAuthorRepository.GetQuery(o => idlist.Contains(o.Id)).ToList(); list.ForEach(o => o.Status = state); if (state == 1) { var stores = list.Select(o => o.StoreName).ToList(); var cids = list.Select(o => o.CID).ToList(); var dids = list.Select(o => o.DeviceId).ToList(); var mnos = list.Select(o => o.MachineNo).ToList(); var sid = list.Select(o => o.Id).ToList(); //var devs= DevicesRepository.GetQuery(o => dids.Contains(o.DeviceId)).ToList(); //devs.Select(o=>o.CategoryId) var devices = DeviceAuthorRepository.GetQuery(o => stores.Contains(o.StoreName) && cids.Contains(o.CID) && mnos.Contains(o.MachineNo) && dids.Contains(o.DeviceId) && !sid.Contains(o.Id) && o.Status == 1).ToList(); devices.ForEach(o => { o.Status = 2; }); } DeviceAuthorRepository.SaveChanges(); return(OpResult.Success()); }
public OpResult SaveOrUpdate(DeviceAuthorize obj, string category, string brand, string spec) { //if (!TraderRepository.GetQuery(o => o.CID == obj.CID).Any()) //return OpResult.Fail("商户不存在!"); if (category.IsNullOrEmpty() || brand.IsNullOrEmpty() || spec.IsNullOrEmpty()) { return(OpResult.Fail("设备分类等信息选择不完整!")); } var cate = short.Parse(category); var device = DevicesRepository.Find(o => o.CategoryId == cate && o.Brand == brand && o.Spec == spec); if (device == null) { return(OpResult.Fail("设备分类不存在,请重新选择!")); } obj.DeviceId = device.DeviceId; if (DeviceAuthorRepository.GetQuery(o => o.DeviceId == obj.DeviceId && o.DeviceNo == obj.DeviceNo && o.Status != 2 && o.Id != obj.Id).Any()) { return(OpResult.Fail("同设备和编码下不允许重复添加!")); } if (obj.Id == 0) { obj.CreateDT = DateTime.Now; obj.CreateUID = CurrentUser.UID; obj.ExpirationDT = DateTime.Parse(obj.EffectiveDT).AddMonths(obj.ValidityNum.GetValueOrDefault()).ToString("yyyy-MM-dd"); DeviceAuthorRepository.Add(obj); } else { var res = DeviceAuthorRepository.Get(obj.Id); obj.ToCopyProperty(res, new List <string>() { "CreateDT", "CreateUID", "CID", "MachineSN", "SerialNo" }); res.ExpirationDT = DateTime.Parse(obj.EffectiveDT).AddMonths(obj.ValidityNum.GetValueOrDefault()).ToString("yyyy-MM-dd"); DeviceAuthorRepository.SaveChanges(); } return(OpResult.Success()); }