예제 #1
0
        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());
        }
예제 #2
0
        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());
        }