Exemplo n.º 1
0
        public IHttpActionResult CreateOperationTask([FromBody] OperationTaskModel.Format_Create dataModel)
        {
            string logForm = "Form : " + JsonConvert.SerializeObject(dataModel);
            string logAPI  = "[Post] " + Request.RequestUri.ToString();

            if (!ModelState.IsValid || dataModel == null)
            {
                Global._appLogger.Warn(logAPI + " || Input Parameter not expected || " + logForm);
                return(Content(HttpStatusCode.BadRequest, HttpResponseFormat.InvaildData()));
            }

            try
            {
                int companyId            = Global.GetCompanyIdFromToken();
                OperationTaskModel model = new OperationTaskModel();
                int id = model.Create(companyId, dataModel);
                return(Content(HttpStatusCode.OK, HttpResponseFormat.Success(id)));
            }
            catch (CDSException cdsEx)
            {
                return(Content(HttpStatusCode.BadRequest, CDSException.GetCDSErrorMessageByCode(cdsEx.ErrorId)));
            }
            catch (Exception ex)
            {
                StringBuilder logMessage = LogHelper.BuildExceptionMessage(ex);
                logMessage.AppendLine(logForm);
                Global._appLogger.Error(logAPI + logMessage);

                return(Content(HttpStatusCode.InternalServerError, ex));
            }
        }
Exemplo n.º 2
0
 public IHttpActionResult GetOperationTaskById(int id)
 {
     try
     {
         OperationTaskModel model = new OperationTaskModel();
         return(Content(HttpStatusCode.OK, model.GetById(id)));
     }
     catch (CDSException cdsEx)
     {
         return(Content(HttpStatusCode.BadRequest, CDSException.GetCDSErrorMessageByCode(cdsEx.ErrorId)));
     }
     catch (Exception ex)
     {
         return(Content(HttpStatusCode.InternalServerError, ex));
     }
 }
Exemplo n.º 3
0
        public IHttpActionResult GetAllOperationTask([FromUri] string taskStatus = "All", [FromUri] int hours = 168)
        {
            if (hours < 1 || hours > 168)
            {
                hours = 168;
            }
            int companyId            = Global.GetCompanyIdFromToken();
            OperationTaskModel model = new OperationTaskModel();

            //CompanyId = 0 is SuperAdmin
            if (companyId > 0)
            {
                return(Content(HttpStatusCode.OK, model.GetAllByCompanyId(companyId, taskStatus, hours)));
            }
            else
            {
                return(Content(HttpStatusCode.OK, model.GetAll(taskStatus, hours)));
            }
        }
Exemplo n.º 4
0
 public IHttpActionResult DeleteOperationTask(int id)
 {
     try
     {
         OperationTaskModel model = new OperationTaskModel();
         model.DeleteById(id);
         return(Content(HttpStatusCode.OK, HttpResponseFormat.Success()));
     }
     catch (CDSException cdsEx)
     {
         return(Content(HttpStatusCode.BadRequest, CDSException.GetCDSErrorMessageByCode(cdsEx.ErrorId)));
     }
     catch (Exception ex)
     {
         string        logAPI     = "[Delete] " + Request.RequestUri.ToString();
         StringBuilder logMessage = LogHelper.BuildExceptionMessage(ex);
         Global._appLogger.Error(logAPI + logMessage);
         return(Content(HttpStatusCode.InternalServerError, ex));
     }
 }
Exemplo n.º 5
0
        public void ThreadProc()
        {
            OperationTaskModel operationTask = new OperationTaskModel();

            try
            {
                AzureSQLHelper.IoTHubModel iotHubModel = new AzureSQLHelper.IoTHubModel();
                IoTHub iotHub = iotHubModel.GetById(_IoTHubReceiverMsg.content.iotHubId);
                string iotHubConnectionString = iotHub.IoTHubConnectionString;

                //IoTHub iotHub = new IoTHub();
                //iotHub.Id = 1001;
                //iotHub.IoTHubName = "OPC UA Default";
                //string iotHubConnectionString = "HostName=opcuademobox.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=2eHR7uKDmrajO6201NBfUlzGGLrIDi55A2URg0EZuCo=";

                IoTHubHelper iotHubHelper = new IoTHubHelper(iotHubConnectionString);
                string[]     partitions   = iotHubHelper.GetPartitions();

                _Version = _IoTHubReceiverMsg.content.version;
                if (string.IsNullOrEmpty(_Version))
                {
                    _Version = _SrvFabricIoTHubReceiverTypeVersion;
                }

                _CompanyId = _IoTHubReceiverMsg.content.companyId.ToString();
                if (_CompanyId == "0")
                {
                    _CompanyId = iotHub.CompanyID.ToString();
                }

                ProvisionApp._appLogger.Info(string.Format("Company ID: {0}, IoTHub ID: {1}, Version: {2}", _CompanyId, _IoTHubReceiverMsg.content.iotHubId, _Version));

                switch (_IoTHubReceiverMsg.task)
                {
                case TaskName.IoTHubReceiver_Launch:
                    if (iotHub.EnableMultipleReceiver)
                    {
                        for (int i = 0; i < partitions.Length; i++)
                        {
                            string label = i + "-" + partitions.Length;
                            lanuchIoTHubReceiver(iotHub.CompanyID.ToString(), iotHub, partitions[i], label);
                            ProvisionApp._appLogger.Info("[IoTHubReceiver] " + _IoTHubReceiverMsg.task + " success: CompanyId-" + _CompanyId + ", IoTHubReceiverName-" + iotHub.IoTHubName + ", Label-" + label);
                        }
                    }
                    else
                    {
                        lanuchIoTHubReceiver(_CompanyId, iotHub, "ALL", "ALL");
                        ProvisionApp._appLogger.Info("[IoTHubReceiver] " + _IoTHubReceiverMsg.task + " success: CompanyId-" + _CompanyId + ", IoTHubReceiverName-" + iotHub.IoTHubName + ", Label-" + "ALL");
                    }
                    break;

                case TaskName.IoTHubReceiver_Shutdown:
                    // Shutdown All Partitions Processes (it maybe not running)
                    for (int i = 0; i < partitions.Length; i++)
                    {
                        string label = i + "-" + partitions.Length;
                        shutdownIoTHubReceiver(_CompanyId, iotHub, partitions[i], label);
                        ProvisionApp._appLogger.Info("[IoTHubReceiver] " + _IoTHubReceiverMsg.task + " success: CompanyId-" + _CompanyId + ", IoTHubReceiverName-" + iotHub.IoTHubName + ", Label-" + label);
                    }
                    // Shutdown Non-Partition Process (it maybe not running)
                    shutdownIoTHubReceiver(_CompanyId, iotHub, "ALL", "ALL");
                    ProvisionApp._appLogger.Info("[IoTHubReceiver] " + _IoTHubReceiverMsg.task + " success: CompanyId-" + _CompanyId + ", IoTHubReceiverName-" + iotHub.IoTHubName + ", Label-" + "ALL");
                    break;
                }
                operationTask.UpdateTaskBySuccess(_IoTHubReceiverMsg.taskId);
            }
            catch (Exception ex)
            {
                StringBuilder logMessage = new StringBuilder();
                logMessage.AppendLine("[IoTHubReceiver] " + _IoTHubReceiverMsg.task + " Failed: CompanyId-" + _CompanyId + ", IoTHubId-" + _IoTHubReceiverMsg.content.iotHubId);
                logMessage.AppendLine("\tMessage:" + JsonConvert.SerializeObject(this));
                logMessage.AppendLine("\tException:" + ex.Message);
                ProvisionApp._appLogger.Error(logMessage);
                operationTask.UpdateTaskByFail(_IoTHubReceiverMsg.taskId, ex.Message);
            }
        }