コード例 #1
0
ファイル: Equipment.cs プロジェクト: KevinKao809/CDS10
        public List <Detail_WithMetaData> GetAllEquipmentWithMetaDataByCompanyIdReadonly(int companyId)
        {
            DBHelper._Equipment dbhelp_equipment = new DBHelper._Equipment();
            DBHelper._Factory   dbhelp_factory   = new DBHelper._Factory();
            List <Equipment>    equipmentList    = new List <Equipment>();
            List <int>          factoryIdList    = dbhelp_factory.GetAllByCompanyId(companyId).Select(s => s.Id).ToList <int>();

            foreach (int factoryId in factoryIdList)
            {
                equipmentList.AddRange(dbhelp_equipment.GetAllByFactoryId(factoryId));
            }
            return(equipmentList.Select(s => new Detail_WithMetaData()
            {
                EquipmentId = s.EquipmentId,
                Name = s.Name,
                EquipmentClassName = s.EquipmentClass.Name,
                FactoryName = s.Factory.Name,
                IoTHubDeviceId = s.IoTHubDeviceID,
                IoTDeviceTypeName = s.IoTDevice.DeviceType.Name,
                Latitude = (s.Latitude == null) ? "" : s.Latitude.ToString(),
                Longitude = (s.Longitude == null) ? "" : s.Longitude.ToString(),
                PhotoUrl = s.PhotoURL,
                MetaDatas = GetMetaDataById(s.Id)
            }).ToList <Detail_WithMetaData>());
        }
コード例 #2
0
ファイル: Equipment.cs プロジェクト: KevinKao809/CDS10
        public void deleteEquipment(int id)
        {
            DBHelper._Equipment dbhelp            = new DBHelper._Equipment();
            Equipment           existingEquipment = dbhelp.GetByid(id);

            dbhelp.Delete(existingEquipment);
        }
コード例 #3
0
ファイル: Equipment.cs プロジェクト: KevinKao809/CDS10
        public List <Detail> GetAllEquipmentByCompanyId(int companyId)
        {
            DBHelper._Equipment dbhelp_equipment = new DBHelper._Equipment();
            DBHelper._Factory   dbhelp_factory   = new DBHelper._Factory();
            List <Equipment>    equipmentList    = new List <Equipment>();
            List <int>          factoryIdList    = dbhelp_factory.GetAllByCompanyId(companyId).Select(s => s.Id).ToList <int>();

            foreach (int factoryId in factoryIdList)
            {
                equipmentList.AddRange(dbhelp_equipment.GetAllByFactoryId(factoryId));
            }
            return(equipmentList.Select(s => new Detail()
            {
                Id = s.Id,
                EquipmentId = s.EquipmentId,
                Name = s.Name,
                EquipmentClassId = s.EquipmentClassId,
                EquipmentClassName = s.EquipmentClass.Name,
                FactoryId = s.FactoryId,
                FactoryName = s.Factory.Name,
                IoTHubDeviceId = s.IoTHubDeviceID,
                IoTDeviceTypeName = s.IoTDevice.DeviceType.Name,
                Latitude = (s.Latitude == null) ? "" : s.Latitude.ToString(),
                Longitude = (s.Longitude == null) ? "" : s.Longitude.ToString(),
                MaxIdleInSec = s.MaxIdleInSec,
                PhotoUrl = s.PhotoURL
            }).ToList <Detail>());
        }
コード例 #4
0
ファイル: Equipment.cs プロジェクト: KevinKao809/CDS20
        public int getCompanyId(int id)
        {
            DBHelper._Equipment dbhelp         = new DBHelper._Equipment();
            Equipment           existEquipment = dbhelp.GetByid(id);

            return(existEquipment.CompanyID);
        }
コード例 #5
0
ファイル: Equipment.cs プロジェクト: KevinKao809/CDS20
        public Detail getEquipmentById(int id)
        {
            DBHelper._Equipment dbhelp    = new DBHelper._Equipment();
            Equipment           equipment = dbhelp.GetByid(id);

            if (equipment == null)
            {
                throw new CDSException(10501);
            }

            return(new Detail()
            {
                Id = equipment.Id,
                EquipmentId = equipment.EquipmentId,
                Name = equipment.Name,
                CompanyId = equipment.CompanyID,
                EquipmentClassId = equipment.EquipmentClassId,
                EquipmentClassName = equipment.EquipmentClass.Name,
                FactoryId = equipment.FactoryId,
                FactoryName = equipment.Factory.Name,
                IoTDeviceId = equipment.IoTDeviceID,
                IoTDeviceTypeName = equipment.IoTDevice.DeviceType.Name,
                Latitude = (equipment.Latitude == null) ? "" : equipment.Latitude.ToString(),
                Longitude = (equipment.Longitude == null) ? "" : equipment.Longitude.ToString(),
                MaxIdleInSec = equipment.MaxIdleInSec,
                PhotoUrl = equipment.PhotoURL
            });
        }
コード例 #6
0
ファイル: Equipment.cs プロジェクト: KevinKao809/CDS10
        public int getCompanyId(int id)
        {
            DBHelper._Equipment dbhelp         = new DBHelper._Equipment();
            Equipment           existEquipment = dbhelp.GetByid(id);
            int companyId = existEquipment.Factory.CompanyId;

            return(companyId);
        }
コード例 #7
0
ファイル: Equipment.cs プロジェクト: KevinKao809/CDS10
        public void updateEquipmentLogoURL(int id, string url)
        {
            DBHelper._Equipment dbhelp         = new DBHelper._Equipment();
            Equipment           existEquipment = dbhelp.GetByid(id);

            existEquipment.PhotoURL = url;
            dbhelp.Update(existEquipment);
        }
コード例 #8
0
ファイル: General.cs プロジェクト: KevinKao809/CDS10
 public static bool IsEquipmentUnderCompany(string equipmentId, int companyId)
 {
     DBHelper._Equipment dbhelp = new DBHelper._Equipment();
     if (companyId == dbhelp.GetCompanyId(equipmentId))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
コード例 #9
0
ファイル: Equipment.cs プロジェクト: KevinKao809/CDS10
        public List <MetaDataValue_View> GetMetaDataById(int equipmentId)
        {
            DBHelper._Equipment dbhelp = new DBHelper._Equipment();
            int companyId = getCompanyId(equipmentId);

            return(dbhelp.GetMetaDataById(equipmentId, companyId).Select(s => new MetaDataValue_View()
            {
                Id = s.Id,
                ObjectName = s.MetaDataDefination.ObjectName,
                ObjectValue = s.ObjectValue,
                MetaDataDefinationId = s.MetaDataDefinationId
            }).ToList <MetaDataValue_View>());
        }
コード例 #10
0
ファイル: Equipment.cs プロジェクト: KevinKao809/CDS10
        public void updateEquipment(int id, Edit equipment)
        {
            DBHelper._Equipment dbhelp            = new DBHelper._Equipment();
            Equipment           existingEquipment = dbhelp.GetByid(id);

            existingEquipment.EquipmentId      = equipment.EquipmentId;
            existingEquipment.Name             = equipment.Name;
            existingEquipment.EquipmentClassId = equipment.EquipmentClassId;
            existingEquipment.FactoryId        = equipment.FactoryId;
            existingEquipment.IoTHubDeviceID   = equipment.IoTHubDeviceId;
            existingEquipment.Latitude         = equipment.Latitude;
            existingEquipment.Longitude        = equipment.Longitude;
            existingEquipment.MaxIdleInSec     = equipment.MaxIdleInSec;

            dbhelp.Update(existingEquipment);
        }
コード例 #11
0
ファイル: Equipment.cs プロジェクト: KevinKao809/CDS10
        public List <Detail_readonly> GetAllEquipmentByFactoryIdReadonly(int factoryId)
        {
            DBHelper._Equipment dbhelp_equipment = new DBHelper._Equipment();

            return(dbhelp_equipment.GetAllByFactoryId(factoryId).Select(s => new Detail_readonly()
            {
                EquipmentId = s.EquipmentId,
                Name = s.Name,
                EquipmentClassName = s.EquipmentClass.Name,
                FactoryName = s.Factory.Name,
                IoTHubDeviceId = s.IoTHubDeviceID,
                IoTDeviceTypeName = s.IoTDevice.DeviceType.Name,
                Latitude = (s.Latitude == null) ? "" : s.Latitude.ToString(),
                Longitude = (s.Longitude == null) ? "" : s.Longitude.ToString(),
                PhotoUrl = s.PhotoURL
            }).ToList <Detail_readonly>());
        }
コード例 #12
0
        public dynamic GetMessageByFactoryId(int factoryId, int top, int hours, string order, int companyId = 0)
        {
            DBHelper._Equipment dbhelp          = new DBHelper._Equipment();
            List <string>       equipmentIdList = dbhelp.GetAllByFactoryId(factoryId).Select(s => s.EquipmentId).ToList <string>();

            int    maxIndex        = equipmentIdList.Count - 1;
            string sql_equipmentId = "";

            for (int i = 0; i <= maxIndex; i++)
            {
                if (i == maxIndex)
                {
                    sql_equipmentId += ("'" + equipmentIdList[i] + "'");
                }
                else
                {
                    sql_equipmentId += ("'" + equipmentIdList[i] + "',");
                }
            }

            if (string.IsNullOrEmpty(sql_equipmentId))
            {
                return(new Object());
            }
            else
            {
                int    unixTimestamp      = (int)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
                int    queryUnixTimestamp = unixTimestamp - (hours * 60 * 60);
                string sql = "";
                string checkCompanyIdSql = companyId > 0 ? " AND c.Message.companyId = " + companyId.ToString() + " " : " ";

                if (order.ToLower().Equals("desc"))
                {
                    sql = "SELECT TOP " + top + " * FROM c WHERE c.Type = 'Message'" + checkCompanyIdSql + "AND c.Message.equipmentId IN (" + sql_equipmentId + ") AND c._ts > " + queryUnixTimestamp + " ORDER BY c._ts DESC";
                }
                else
                {
                    sql = "SELECT TOP " + top + " * FROM c WHERE c.Type = 'Message'" + checkCompanyIdSql + " AND c.Message.equipmentId IN (" + sql_equipmentId + ") AND c._ts > " + queryUnixTimestamp;
                }

                return(_Client.CreateDocumentQuery(_CollectionLink, sql, new FeedOptions {
                    EnableCrossPartitionQuery = true
                }));
            }
        }
コード例 #13
0
ファイル: Equipment.cs プロジェクト: KevinKao809/CDS10
        public void UpdateMetaDataById(int equipmentId, MetaData_Edit metaDataEdit)
        {
            List <MetaDataValue> metaDataValueList = new List <MetaDataValue>();

            foreach (var inMetaData in metaDataEdit.metaDatas)
            {
                MetaDataValue metaData = new MetaDataValue();
                metaData.Id = inMetaData.Id;
                metaData.MetaDataDefinationId = inMetaData.MetaDataDefinationId;
                metaData.ObjectValue          = inMetaData.ObjectValue;
                metaData.ReferenceId          = equipmentId;

                metaDataValueList.Add(metaData);
            }

            DBHelper._Equipment dbhelp = new DBHelper._Equipment();
            dbhelp.UpdateMetaDataById(equipmentId, metaDataValueList);
        }
コード例 #14
0
ファイル: Equipment.cs プロジェクト: KevinKao809/CDS10
        public int addEquipment(Edit equipment)
        {
            DBHelper._Equipment dbhelp = new DBHelper._Equipment();
            var newEquipment           = new Equipment()
            {
                EquipmentId      = equipment.EquipmentId,
                Name             = equipment.Name,
                EquipmentClassId = equipment.EquipmentClassId,
                FactoryId        = equipment.FactoryId,
                IoTHubDeviceID   = equipment.IoTHubDeviceId,
                Latitude         = equipment.Latitude,
                Longitude        = equipment.Longitude,
                MaxIdleInSec     = equipment.MaxIdleInSec
            };
            int newEquipmentId = dbhelp.Add(newEquipment);

            return(newEquipmentId);
        }
コード例 #15
0
ファイル: Equipment.cs プロジェクト: KevinKao809/CDS10
        public Detail_readonly getEquipmentByIdReadonly(string equipmentId)
        {
            DBHelper._Equipment dbhelp    = new DBHelper._Equipment();
            Equipment           equipment = dbhelp.GetByid(equipmentId);

            return(new Detail_readonly()
            {
                EquipmentId = equipment.EquipmentId,
                Name = equipment.Name,
                EquipmentClassName = equipment.EquipmentClass.Name,
                FactoryName = equipment.Factory.Name,
                IoTHubDeviceId = equipment.IoTHubDeviceID,
                IoTDeviceTypeName = equipment.IoTDevice.DeviceType.Name,
                Latitude = (equipment.Latitude == null) ? "" : equipment.Latitude.ToString(),
                Longitude = (equipment.Longitude == null) ? "" : equipment.Longitude.ToString(),
                PhotoUrl = equipment.PhotoURL
            });
        }
コード例 #16
0
ファイル: Equipment.cs プロジェクト: KevinKao809/CDS10
 public List <Detail> GetAllEquipment()
 {
     DBHelper._Equipment dbhelp_equipment = new DBHelper._Equipment();
     return(dbhelp_equipment.GetAll().Select(s => new Detail()
     {
         Id = s.Id,
         EquipmentId = s.EquipmentId,
         Name = s.Name,
         EquipmentClassId = s.EquipmentClassId,
         EquipmentClassName = s.EquipmentClass.Name,
         FactoryId = s.FactoryId,
         FactoryName = s.Factory.Name,
         IoTHubDeviceId = s.IoTHubDeviceID,
         IoTDeviceTypeName = s.IoTDevice.DeviceType.Name,
         Latitude = (s.Latitude == null) ? "" : s.Latitude.ToString(),
         Longitude = (s.Longitude == null) ? "" : s.Longitude.ToString(),
         MaxIdleInSec = s.MaxIdleInSec,
         PhotoUrl = s.PhotoURL
     }).ToList <Detail>());
 }
コード例 #17
0
ファイル: Equipment.cs プロジェクト: KevinKao809/CDS10
        public List <Detail_WithMetaData> GetAllEquipmentWithMetaDataByFactoryId(int factoryId)
        {
            DBHelper._Equipment dbhelp = new DBHelper._Equipment();

            return(dbhelp.GetAllByFactoryId(factoryId).Select(s => new Detail_WithMetaData()
            {
                Id = s.Id,
                EquipmentId = s.EquipmentId,
                Name = s.Name,
                EquipmentClassId = s.EquipmentClassId,
                EquipmentClassName = s.EquipmentClass.Name,
                FactoryId = s.FactoryId,
                FactoryName = s.Factory.Name,
                IoTHubDeviceId = s.IoTHubDeviceID,
                IoTDeviceTypeName = s.IoTDevice.DeviceType.Name,
                Latitude = (s.Latitude == null) ? "" : s.Latitude.ToString(),
                Longitude = (s.Longitude == null) ? "" : s.Longitude.ToString(),
                MaxIdleInSec = s.MaxIdleInSec,
                PhotoUrl = s.PhotoURL,
                MetaDatas = GetMetaDataById(s.Id)
            }).ToList <Detail_WithMetaData>());
        }
コード例 #18
0
ファイル: Equipment.cs プロジェクト: KevinKao809/CDS10
        public Detail_WithMetaData getEquipmentWithMetaDataById(string id)
        {
            DBHelper._Equipment dbhelp    = new DBHelper._Equipment();
            Equipment           equipment = dbhelp.GetByid(id);

            return(new Detail_WithMetaData()
            {
                Id = equipment.Id,
                EquipmentId = equipment.EquipmentId,
                Name = equipment.Name,
                EquipmentClassId = equipment.EquipmentClassId,
                EquipmentClassName = equipment.EquipmentClass.Name,
                FactoryId = equipment.FactoryId,
                FactoryName = equipment.Factory.Name,
                IoTHubDeviceId = equipment.IoTHubDeviceID,
                IoTDeviceTypeName = equipment.IoTDevice.DeviceType.Name,
                Latitude = (equipment.Latitude == null) ? "" : equipment.Latitude.ToString(),
                Longitude = (equipment.Longitude == null) ? "" : equipment.Longitude.ToString(),
                MaxIdleInSec = equipment.MaxIdleInSec,
                PhotoUrl = equipment.PhotoURL,
                MetaDatas = GetMetaDataById(equipment.Id)
            });
        }
コード例 #19
0
        private void GetMessageCatalogPayload(int messageCatalogId, int companyId, string iotHubDeviceId, ref dynamic msgCatalogPayload, string prefixName)
        {
            DBHelper._MessageElement dbhelp_messageElement = new DBHelper._MessageElement();
            var msgElements = dbhelp_messageElement.GetAllByMessageCatalog(messageCatalogId);

            foreach (var msgElement in msgElements)
            {
                switch (msgElement.ElementDataType.ToLower())
                {
                case "string":
                    if (msgElement.ElementName.ToLower().Equals("equipmentid"))
                    {
                        DBHelper._Equipment dbhelp_equipment = new DBHelper._Equipment();
                        int    count = 0;
                        string availableEquipmentIdList = "";
                        foreach (Equipment equipment in dbhelp_equipment.GetAllByIoTHubDeviceId(iotHubDeviceId))
                        {
                            if (count > 0)
                            {
                                availableEquipmentIdList += (", " + equipment.EquipmentId);
                            }
                            else
                            {
                                availableEquipmentIdList += (" || " + equipment.EquipmentId);
                            }
                            count++;
                        }
                        AddProperty(msgCatalogPayload, prefixName + msgElement.ElementName, msgElement.ElementDataType + " || " + (msgElement.MandatoryFlag ? "mandatory" : "option") + availableEquipmentIdList);
                    }
                    else
                    {
                        AddProperty(msgCatalogPayload, prefixName + msgElement.ElementName, msgElement.ElementDataType + " || " + (msgElement.MandatoryFlag ? "mandatory" : "option"));
                    }
                    break;

                case "numeric":
                    switch (msgElement.ElementName.ToLower())
                    {
                    case "companyid":
                        AddProperty(msgCatalogPayload, prefixName + msgElement.ElementName, msgElement.ElementDataType + " || " + (msgElement.MandatoryFlag ? "mandatory" : "option") + " || " + companyId.ToString());
                        break;

                    case "equipmentrunstatus":
                        AddProperty(msgCatalogPayload, prefixName + msgElement.ElementName, msgElement.ElementDataType + " || " + (msgElement.MandatoryFlag ? "mandatory" : "option") + " || 0, 1, -1");
                        break;

                    default:
                        AddProperty(msgCatalogPayload, prefixName + msgElement.ElementName, msgElement.ElementDataType + " || " + (msgElement.MandatoryFlag ? "mandatory" : "option"));
                        break;
                    }
                    break;

                case "bool":
                    AddProperty(msgCatalogPayload, prefixName + msgElement.ElementName, msgElement.ElementDataType + " || " + (msgElement.MandatoryFlag ? "mandatory" : "option") + " || True, False");
                    break;

                case "datetime":
                    AddProperty(msgCatalogPayload, prefixName + msgElement.ElementName, msgElement.ElementDataType + " || " + (msgElement.MandatoryFlag ? "mandatory" : "option") + " || yyyy-MM-ddTHH:mm:ss");
                    break;

                case "message":
                    if (messageCatalogId != (int)msgElement.ChildMessageCatalogID)
                    {
                        GetMessageCatalogPayload((int)msgElement.ChildMessageCatalogID, companyId, iotHubDeviceId, ref msgCatalogPayload, prefixName + msgElement.ElementName + "_");       //Recurssive Call
                    }
                    break;
                }
            }
        }
コード例 #20
0
        public override void Exec()
        {
            RecordStartLog();
            DBHelper._Company   dbhelp_Company   = new DBHelper._Company();
            DBHelper._Factory   dbhelp_Facotry   = new DBHelper._Factory();
            DBHelper._Equipment dbhelp_Equipment = new DBHelper._Equipment();
            DBHelper._UsageLog  dbhelp_UsageLog  = new DBHelper._UsageLog();
            List <UsageLog>     usageLogList     = new List <UsageLog>();

            foreach (var company in dbhelp_Company.GetAll())
            {
                int  companyId       = company.Id;
                int  factoryQty      = 0;
                int  equipmentQty    = 0;
                long deviceMsgQty    = 0;
                long alarmMsgQty     = 0;
                int  DocDbSizeInGB   = 0;
                int  DocDBPercentage = 0;

                try
                {
                    foreach (var factory in dbhelp_Facotry.GetAllByCompanyId(companyId))
                    {
                        factoryQty++;
                        equipmentQty += dbhelp_Equipment.GetAllByFactoryId(factory.Id).Count;
                    }

                    DocumentDBHelper docDBHelpler = new DocumentDBHelper(companyId, company.DocDBConnectionString);
                    docDBHelpler.Init();
                    deviceMsgQty = docDBHelpler.GetCompanyDeviceMsgQty();
                    alarmMsgQty  = docDBHelpler.GetCompanyAlarmMessageQty();

                    DocDbSizeInGB   = Convert.ToInt32(docDBHelpler._SizeQuotaInKB / (1024 * 1024));
                    DocDBPercentage = Convert.ToInt32(docDBHelpler._SizeUsageInKB * 100 / docDBHelpler._SizeQuotaInKB);
                }
                catch (Exception ex)
                {
                    StringBuilder logMessage = new StringBuilder();
                    logMessage.AppendLine("Routine TaskActor : " + _TaskName);
                    logMessage.AppendLine("\tCompayId " + companyId + " is failed");
                    logMessage.AppendLine("\tException: " + ex.Message);
                    if (ex.InnerException != null)
                    {
                        logMessage.AppendLine("\tInnerException: " + ex.InnerException.Message);
                    }
                    _sfAppLogger.Error(logMessage);
                }

                usageLogList.Add(new UsageLog()
                {
                    CompanyId       = companyId,
                    FactoryQty      = factoryQty,
                    EquipmentQty    = equipmentQty,
                    DeviceMessage   = deviceMsgQty,
                    AlarmMessage    = alarmMsgQty,
                    DocSizeInGB     = DocDbSizeInGB,
                    DocDBPercentage = DocDBPercentage,
                    UpdatedAt       = DateTime.Now
                });
            }
            try
            {
                dbhelp_UsageLog.Add(usageLogList);
            }
            catch (Exception ex)
            {
                StringBuilder logMessage = new StringBuilder();
                logMessage.AppendLine("Routine TaskActor : " + _TaskName);
                logMessage.AppendLine("\tException: " + ex.Message);
                logMessage.AppendLine("\tInnerException: " + ex.InnerException.Message);
                _sfAppLogger.Error(logMessage);
            }

            RecordEndLog();
        }