Exemplo n.º 1
0
        //public List<moduleCondition> GetConnectedModules()
        //{
        //    var moduleConnectedList = new List<moduleCondition>();
        //    var sel1 = from o1 in context.Properties
        //               where o1.PropId == 100 && o1.Value == "1"
        //               select o1.ObjectId;
        //    var sel2 = from o1 in context.Properties
        //               join o2 in context.Objects on o1.ObjectId equals o2.Id
        //               where o1.PropId == 101 && sel1.Contains(o1.ObjectId)
        //               select new
        //               {

        //                   modId = o1.ObjectId,
        //                   modRun = o1.Value,
        //                   modName = o2.Name
        //               };
        //    var a = sel2.Any();
        //    if (a)
        //    {
        //        foreach (var item in sel2)
        //        {
        //            var result = new moduleCondition();
        //            result.idModule = item.modId;
        //            result.nameModule = item.modName;
        //            result.isRun = item.modRun;
        //            result.isConnected = true;
        //            moduleConnectedList.Add(result);
        //        }
        //    }
        //    else
        //    {
        //        var result = new moduleCondition();
        //        moduleConnectedList.Add(result);
        //    }
        //    return moduleConnectedList;
        //}

        public List <moduleCondition> modulesToConnect()
        {
            var listOfAvaibleModules = new List <moduleCondition>();
            var sel = from o1 in context.Properties
                      join o2 in context.Objects on o1.ObjectId equals o2.Id
                      join o3 in context.Properties on o1.ObjectId equals o3.ObjectId
                      where o1.PropId == 100 && o1.Value == "0" && o3.PropId == 102
                      select new
            {
                modId    = o1.ObjectId,
                modName  = o2.Name,
                modDescr = o3.Value
            };
            var a = sel.Any();

            if (a)
            {
                foreach (var item in sel)
                {
                    var result = new moduleCondition();
                    result.idModule    = item.modId;
                    result.nameModule  = item.modName;
                    result.descrModule = item.modDescr;
                    //result.isRun = item.modRun;
                    listOfAvaibleModules.Add(result);
                }
            }
            else
            {
                var result = new moduleCondition();
                listOfAvaibleModules.Add(result);
            }
            return(listOfAvaibleModules);
        }
Exemplo n.º 2
0
        public List <moduleCondition> GetModules()
        {
            List <moduleCondition> moduleConnectedList = new List <moduleCondition>();

            using (var context = new EFDbContext())
            {
                var moduleList = context.Objects.Where(t => t.Type == 3).Join(context.Properties, o => o.Id, p => p.ObjectId,
                                                                              (o, p) => new
                {
                    Id          = o.Id,
                    Name        = o.Name,
                    IsConnected = context.Properties.Where(q => q.PropId == 100 && q.ObjectId == o.Id).Select(q => q.Value).FirstOrDefault(),
                    IsRun       = context.Properties.Where(q => q.PropId == 101 && q.ObjectId == o.Id).Select(q => q.Value).FirstOrDefault(),
                    Description = context.Properties.Where(q => q.PropId == 102 && q.ObjectId == o.Id).Select(q => q.Value).FirstOrDefault()
                }).Distinct();
                foreach (var item in moduleList)
                {
                    var module = new moduleCondition
                    {
                        idModule    = item.Id,
                        isConnected = Convert.ToBoolean(item.IsConnected),
                        isRun       = item.IsRun,
                        descrModule = item.Description,
                        nameModule  = item.Name
                    };
                    moduleConnectedList.Add(module);
                }
            }
            return(moduleConnectedList);
        }