Esempio n. 1
0
 /// <summary>
 /// Update Component status by RunComponentId in 'RunComponentStatus' table
 /// </summary>
 /// <param name="Id">RunComponentId</param>
 /// <param name="updatedValue">Status Value</param>
 public void UpdateComponentStatusById(int Id, ComponentStatusType updatedValue, string endDate, string message)
 {
     try
     {
         //calling  the service contract.
         var runComponentStatusInfo = _runComponentRepository.Find(Id);
         runComponentStatusInfo.ComponentStatusId = (byte)updatedValue;
         runComponentStatusInfo.EndDate           = DateTime.Parse(endDate);
         runComponentStatusInfo.Message           = message;
         _runComponentRepository.Save(runComponentStatusInfo);
     }
     catch (Exception ex)
     {
         throw new Exception("Error occur while updating run component status in 'RunComponentStatus' table." + ex.Message);
     }
 }
Esempio n. 2
0
        /// <summary>
        ///  Method:ProcessRunNumber
        ///  Description:This initialize the components step for each Run Number.
        ///  </summary>
        /// <param name="objRunNumberDetail"></param>
        public void ProcessRunNumber(RunDetail runDetail, string fileDownloadLocation)
        {
            var runNumberDirectory = fileDownloadLocation;

            if (!Directory.Exists(runNumberDirectory))
            {
                SingletonLogger.Instance.Debug("  Directory " + runDetail.RunNumber + " Does not Exists in " + runNumberDirectory);
                return;
            }
            var inputfiles = Directory.GetFiles(runNumberDirectory);

            if (inputfiles.Count() == 0)
            {
                SingletonLogger.Instance.Debug(" No Files exists to process under Run number ." + runNumberDirectory);
                return;
            }


            var runNumber = runDetail.RunNumber;
            var appId     = runDetail.ApplicationId;


            SingletonLogger.Instance.Debug("appId " + appId);

            //Get All Component of particulate Application

            // List<ApplicationComponent> applicationComponentList = objApplicationComponentsDal.GetAllApplicationComponentsByAppId(appId);
            var applicationComponentList = objApplicationComponentRepository.GetApplicationComponentListbyappId(appId);

            if (applicationComponentList.Count() == 0)
            {
                throw new Exception(" No Component steps exists for Application Id = " + appId);
            }
            else
            {
                try
                {
                    SingletonLogger.Instance.Debug("Total " + applicationComponentList.Count() + " Component steps founds .");
                    //Get RunNumberId By RunNumber From RunNumberDetails Table.
                    int runNumberId = objRunDetailsRepository.GetRunDetailByRunNumber(runNumber).RunDetailId;
                    SingletonLogger.Instance.Debug("runNumberId " + runNumberId);

                    //Make entry in RunComponentStatus table For Each Step For a RunNumber
                    foreach (var applicationComponent in applicationComponentList)
                    {
                        RunComponentStatus entity = new RunComponentStatus();
                        entity.RunNumberId     = runNumberId;
                        entity.ComponentId     = applicationComponent.ComponentId;
                        entity.ComponentOrder  = applicationComponent.ComponentOrder;
                        entity.ComponentStatus = 0;
                        entity.CreatedOn       = DateTime.Now;
                        entity.EndDate         = null;
                        entity.StartDate       = null;
                        objRunComponentStatusRepository.Save(entity);
                    }
                    SingletonLogger.Instance.Debug("All Component entry has been Added to RunComponentStatus table  for RunNumber " + runNumber);

                    // Update RunStatus in RunNumberDetails to 1
                    objRunDetailsRepository.UpdateRunStatusByRunNumberId(runNumberId, (int)RunNumberStatus.Running);
                    SingletonLogger.Instance.Debug("RunStatus has been updated RunNumberDetails table for RunNumber " + runNumber);
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }