[HttpPost]//creates new hierarchy public async Task Post([FromBody] List <HierarchyUser> hierarchyUsers) { var requestId = DateTime.UtcNow.ToFileTime().ToString(); var genericSchedulesLog = new GenericSchedulesLog(); genericSchedulesLog.GenericScheduleDateTime = DateTime.UtcNow; genericSchedulesLog.GenericScheduleId = 1; genericSchedulesLog.OrganizationId = hierarchyUsers.FirstOrDefault().OrganizationId; genericSchedulesLog.Log = "Info : Create Organization Hierarchy User Started."; _dbLoggerService.LogInfo(genericSchedulesLog); _logger.LogInformation("Request:{0} HttpReqeustType:{1}", requestId, HttpRequestType.GET); try { //await Task.Delay(0hierarchyUsers //await _hierarchyUserService.SaveOrganizationHierarchyUserAssignment(hierarchyUser, genericSchedulesLog); _logger.LogInformation("Response:{0} is succeed", requestId); } catch (Exception ex) { await Task.Delay(0); _logger.LogError("Response:{0} is failed Error : {1}", requestId, ex); NotFound(); } }
public void LogInfo(GenericSchedulesLog genericSchedulesLog) { //genericSchedulesLog.LogDateTime = DateTime.UtcNow; genericSchedulesLog.Log = genericSchedulesLog.Log.Replace("'", ""); genericSchedulesLog.GenericDateTime = genericSchedulesLog.GenericScheduleDateTime.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture); string sql = "INSERT INTO [vlfGenericSchedulesLog] ([GenericScheduleID] ,[OrganizationID] ,[GenericScheduleDateTime] ,[LogDateTime],[LogType],[Log]) VALUES ('" + genericSchedulesLog.GenericScheduleId + "', '" + genericSchedulesLog.OrganizationId + "','" + genericSchedulesLog.GenericDateTime + "','" + DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture) + "', '" + genericSchedulesLog.LogType + "','" + genericSchedulesLog.Log + "')"; Int32 rows = _sqlHelper.ExecuteNonQuery(_connectionStrings.Value.SentinelFmMain, sql, CommandType.Text); }
public async Task CreateHierarchy(HierarchyContainer hierarchyContainer, GenericSchedulesLog genericSchedulesLog) { try { _scheduleService.UpdateScheduleTask(hierarchyContainer.schedule.Id); switch (hierarchyContainer.schedule.ServiceSubTypeId) { case 1: // Organization Hieararchy await CreateOrganizationHierarchy(hierarchyContainer.hierarchies, hierarchyContainer.hierarchiesVehicles, genericSchedulesLog); break; case 2: //ServiceSubType.Hierarchy //CreateHirarchy(schedule.Params); break; case 3: //ServiceSubType.HierarchyUser //SaveOrganizationHierarchyUserAssignment(schedule.Params); break; case 4: //ServiceSubType.HierarchyVehicle //Console.WriteLine("Case 4"); break; default: Console.WriteLine("Default case"); break; } } catch (Exception ex) { _logger.LogInformation("Hierarchy Exception No :{0} ", ex.ToString()); genericSchedulesLog.Log = "Hierarchy Exception No: " + ex.ToString(); _dbLoggerService.LogInfo(genericSchedulesLog); } }
//public async Task SaveOrganizationHierarchyUserAssignment(List<HierarchyUser> hierarchyUsers, GenericSchedulesLog genericSchedulesLog) //{ // var organizationId = hierarchyUsers.FirstOrDefault().OrganizationId; // //deleting existing users and assigning high level users to root // // _hierarchyUserRepository.DeleteOrganizationHierarchyUserAssgignment(organizationId); // _hierarchyUserRepository.AssignHgiUserToOrganizationHierarchy(organizationId); // foreach (HierarchyUser hierarchyUser in hierarchyUsers) // { // await Task.Delay(0); // _hierarchyUserRepository.SaveOrganizationHierarchyUserAssignment(organizationId, hierarchyUser); // } // _hierarchyUserRepository.AssignEmailToHieararchyFleet(organizationId); //} public async Task SaveOrganizationHierarchyUserAssignment(List <Hierarchy> hierarchyUsers, GenericSchedulesLog genericSchedulesLog) { var organizationId = hierarchyUsers.FirstOrDefault().OrganizationId; //deleting existing users and assigning high level users to root //_hierarchyUserRepository.DeleteOrganizationHierarchyUserAssgignment(organizationId); _hierarchyUserRepository.AssignHgiUserToOrganizationHierarchy(organizationId); foreach (Hierarchy hierarchy in hierarchyUsers) { try { await Task.Delay(0); _hierarchyUserRepository.SaveOrganizationHierarchyUserAssignment(organizationId, hierarchy); } catch (Exception ex) { //_logger.LogInformation("Hierarchy Actual Exception :{0}", ex.ToString()); // continue; } } _hierarchyUserRepository.AssignEmailToHieararchyFleet(organizationId); }
public void LogInfo(GenericSchedulesLog genericSchedulesLog) { _dbLoggerRepository.LogInfo(genericSchedulesLog); }
public async Task CreateOrganizationHierarchy(List <Hierarchy> hierarchies, List <HierarchyVehicle> hierarchyVehicle, GenericSchedulesLog genericSchedulesLog) { // await CreateHierarchy(hierarchies); genericSchedulesLog.Log = MessageType.INFO + ": Module : Hierarchy Process Started"; genericSchedulesLog.LogType = 1; _dbLoggerService.LogInfo(genericSchedulesLog); genericSchedulesLog.LogType = 0; var organizationId = 0; foreach (Hierarchy hierarchy in hierarchies) { try { organizationId = hierarchy.OrganizationId; if (hierarchy.NodeCode.Trim() == hierarchy.ParentNodeCode.Trim()) { genericSchedulesLog.Log = MessageType.WARN + " :Node : " + hierarchy.NodeCode.Trim() + " and ParentNode Code: " + hierarchy.ParentNodeCode.Trim() + " are same. Unable to process this record."; genericSchedulesLog.LogType = 1; _dbLoggerService.LogInfo(genericSchedulesLog); genericSchedulesLog.LogType = 0; continue; } if (_hierarchyRepository.GetOrganizationHierarchyByNodecode(organizationId, hierarchy.NodeCode) > 0) { try { _hierarchyRepository.UpdateOrganizationHierarchy(organizationId, hierarchy); } catch (Exception ex) { //_logger.LogInformation("Hierarchy Exception No :{0} Actual Exception :{1}", excno, ex.ToString()); genericSchedulesLog.Log = MessageType.ERR + " : Node:" + hierarchy.NodeCode.Trim() + " Parent Node:" + hierarchy.ParentNodeCode.Trim() + " update failed"; genericSchedulesLog.LogType = 1; _dbLoggerService.LogInfo(genericSchedulesLog); genericSchedulesLog.LogType = 0; } } else { try { _hierarchyRepository.SaveOrganizationHierarchy(hierarchy.OrganizationId, hierarchy); } catch (Exception ex) { genericSchedulesLog.Log = MessageType.ERR + " : Node:" + hierarchy.NodeCode.Trim() + " Parent Node:" + hierarchy.ParentNodeCode.Trim() + " insert failed: Error :" + ex.ToString(); genericSchedulesLog.LogType = 1; _dbLoggerService.LogInfo(genericSchedulesLog); genericSchedulesLog.LogType = 0; } } _hierarchyRepository.SetOrganizationHierarchyParentIdMinus(hierarchy.OrganizationId, hierarchy.NodeCode); } catch (Exception ex) { //_logger.LogInformation("Hierarchy Exception No :{0} Actual Exception :{1}", excno, ex.ToString()); genericSchedulesLog.Log = "Module : HierarchyService Function :CreateOrganizationHierarchy Error : " + ex.ToString() + " Node Code: " + hierarchy.NodeCode + " Parent Node Code: " + hierarchy.ParentNodeCode; _dbLoggerService.LogInfo(genericSchedulesLog); } } string sql = " OrganizationId=" + organizationId.ToString() + " AND (ParentId <> -1 OR ParentId IS NULL)"; var hierarchyToDelete = _hierarchyRepository.GetOrganizationHierarchyBySql(sql); genericSchedulesLog.Log = "Module : GetOrganizationHierarchyBySql ended "; _dbLoggerService.LogInfo(genericSchedulesLog); genericSchedulesLog.Log = "Module : DeleteOrganizationHierarchySingleNode started "; _dbLoggerService.LogInfo(genericSchedulesLog); foreach (string node in hierarchyToDelete) { try { _hierarchyRepository.DeleteOrganizationHierarchySingleNode(organizationId, node); } catch (Exception ex) { //_logger.LogInformation("Hierarchy Exception No :{0} Actual Exception :{1}", excno, ex.ToString()); genericSchedulesLog.Log = "Module : HierarchyService Function :CreateOrganizationHierarchy Call:DeleteOrganizationHierarchySingleNode Error : " + ex.ToString() + " node: " + node; _dbLoggerService.LogInfo(genericSchedulesLog); } } genericSchedulesLog.Log = "Module : DeleteOrganizationHierarchySingleNode ended "; _dbLoggerService.LogInfo(genericSchedulesLog); genericSchedulesLog.Log = "Module : SetHieararchyParent started "; _dbLoggerService.LogInfo(genericSchedulesLog); try { _hierarchyRepository.SetHieararchyParent(organizationId); } catch (Exception ex) { //_logger.LogInformation("Hierarchy Exception No :{0} Actual Exception :{1}", excno, ex.ToString()); genericSchedulesLog.Log = "Module : HierarchyService Function :CreateOrganizationHierarchy Call:SetHieararchyParent Error : " + ex.ToString(); _dbLoggerService.LogInfo(genericSchedulesLog); } genericSchedulesLog.Log = "Module : SetHieararchyParent ended "; _dbLoggerService.LogInfo(genericSchedulesLog); genericSchedulesLog.Log = "Module : UpdateOrganizationHierarchyFlat started "; _dbLoggerService.LogInfo(genericSchedulesLog); try { _hierarchyRepository.UpdateOrganizationHierarchyFlat(organizationId); } catch (Exception ex) { genericSchedulesLog.Log = "Module : HierarchyService Function :CreateOrganizationHierarchy Call:UpdateOrganizationHierarchyFlat Error : " + ex.ToString(); _dbLoggerService.LogInfo(genericSchedulesLog); } genericSchedulesLog.Log = MessageType.INFO + ": Module : Hierarchy Process Ended"; genericSchedulesLog.LogType = 1; _dbLoggerService.LogInfo(genericSchedulesLog); genericSchedulesLog.LogType = 0; genericSchedulesLog.Log = MessageType.INFO + ": Module : Hierarchy User Assignment Started"; genericSchedulesLog.LogType = 1; _dbLoggerService.LogInfo(genericSchedulesLog); genericSchedulesLog.LogType = 0; try { _hierarchyRepository.AssignHgiUserToOrganizationHierarchy(organizationId); } catch (Exception ex) { genericSchedulesLog.Log = "Module : HierarchyService Function :CreateOrganizationHierarchy Call:AssignHgiUserToOrganizationHierarchy Error : " + ex.ToString(); _dbLoggerService.LogInfo(genericSchedulesLog); } genericSchedulesLog.Log = "Module : AssignHgiUserToOrganizationHierarchy ended "; _dbLoggerService.LogInfo(genericSchedulesLog); genericSchedulesLog.Log = "Module : SaveOrganizationHierarchyUserAssignment started "; _dbLoggerService.LogInfo(genericSchedulesLog); try { var response = _hierarchyUserService.SaveOrganizationHierarchyUserAssignment(hierarchies, genericSchedulesLog); genericSchedulesLog.Log = MessageType.INFO + ": Module : Hierarchy User Assignment Ended"; genericSchedulesLog.LogType = 1; _dbLoggerService.LogInfo(genericSchedulesLog); genericSchedulesLog.LogType = 0; if (response.IsCompleted) { genericSchedulesLog.Log = MessageType.INFO + ": Module : Hierarchy Vehicle Assignment Started"; genericSchedulesLog.LogType = 1; _dbLoggerService.LogInfo(genericSchedulesLog); genericSchedulesLog.LogType = 0; foreach (HierarchyVehicle objvehicle in hierarchyVehicle) { if (hierarchies.Where(f => f.Email == objvehicle.Email).FirstOrDefault() != null) { objvehicle.NodeCode = hierarchies.Where(f => f.Email == objvehicle.Email).FirstOrDefault().NodeCode; } } var vehicleResponse = _hierarchyVehicleService.SaveOrganizationHierarchyVehicleAssignment(hierarchyVehicle, genericSchedulesLog); if (vehicleResponse.IsCompleted) { genericSchedulesLog.Log = MessageType.INFO + ": Module : Hierarchy Vehicle Assignment ended"; genericSchedulesLog.LogType = 1; _dbLoggerService.LogInfo(genericSchedulesLog); genericSchedulesLog.LogType = 0; genericSchedulesLog.Log = MessageType.INFO + ": Hierarchy creation ended"; genericSchedulesLog.LogType = 1; _dbLoggerService.LogInfo(genericSchedulesLog); genericSchedulesLog.LogType = 0; } } await Task.Delay(0); } catch (Exception ex) { _logger.LogInformation("Hierarchy Actual Exception :{0}", ex.ToString()); genericSchedulesLog.Log = "Module : HierarchyService Function :CreateOrganizationHierarchy Call:SaveOrganizationHierarchyUserAssignment/SaveOrganizationHierarchyVehicleAssignment Error : " + ex.ToString(); _dbLoggerService.LogInfo(genericSchedulesLog); } }
[HttpPost]//creates new hierarchy public async Task Post([FromBody] HierarchyContainer hierarchiesContainer) { _logger.LogInformation("Create Hierarchy Started"); if (hierarchiesContainer.hierarchies != null) { _logger.LogInformation("Total hierarchy :{0} ", hierarchiesContainer.hierarchies.Count.ToString()); } else { _logger.LogInformation("Total hierarchy : 0 "); } if (hierarchiesContainer.hierarchiesVehicles != null) { _logger.LogInformation("Total vehicles :{0} ", hierarchiesContainer.hierarchiesVehicles.Count.ToString()); } else { _logger.LogInformation("Total vehicles : 0 "); } var requestId = DateTime.UtcNow.ToFileTime().ToString(); var genericSchedulesLog = new GenericSchedulesLog(); genericSchedulesLog.GenericScheduleDateTime = DateTime.UtcNow; genericSchedulesLog.GenericScheduleId = hierarchiesContainer.schedule.Id; if (hierarchiesContainer.hierarchies != null) { genericSchedulesLog.OrganizationId = hierarchiesContainer.hierarchies.FirstOrDefault().OrganizationId; } genericSchedulesLog.Log = "Info : Create Organization Hierarchy Started."; _logger.LogInformation("Request:{0} HttpReqeustType:{1}", requestId, HttpRequestType.GET); try { genericSchedulesLog.Log = MessageType.INFO + " :Service Started at" + DateTime.UtcNow; genericSchedulesLog.LogType = 1; _dbLoggerService.LogInfo(genericSchedulesLog); genericSchedulesLog.LogType = 0; genericSchedulesLog.Log = MessageType.INFO + " :Total hierarchy records :" + hierarchiesContainer.hierarchies.Count.ToString() + " :Total vehicle records :" + hierarchiesContainer.hierarchiesVehicles.Count.ToString(); genericSchedulesLog.LogType = 1; _dbLoggerService.LogInfo(genericSchedulesLog); genericSchedulesLog.LogType = 0; var task = _hierarchyService.CreateHierarchy(hierarchiesContainer, genericSchedulesLog); _logger.LogInformation("Response:{0} is succeed", requestId); if (task.IsCompleted) { genericSchedulesLog.Log = MessageType.INFO + " :Create Organization Hierarchy Ended."; _dbLoggerService.LogInfo(genericSchedulesLog); } } catch (Exception ex) { await Task.Delay(0); genericSchedulesLog.Log = MessageType.ERR + " :Create Organization Hierarchy Failed. " + ex.ToString(); _dbLoggerService.LogInfo(genericSchedulesLog); genericSchedulesLog.LogType = 0; NotFound(); } finally { genericSchedulesLog.Log = MessageType.INFO + " :Service ended at" + DateTime.UtcNow; genericSchedulesLog.LogType = 1; _dbLoggerService.LogInfo(genericSchedulesLog); genericSchedulesLog.LogType = 0; } }
public async Task SaveOrganizationHierarchyVehicleAssignment(List <HierarchyVehicle> hierarchyVehicles, GenericSchedulesLog genericSchedulesLog) { try { _logger.LogInformation("Vehicle Assignment started"); await Task.Delay(0); var organizationId = hierarchyVehicles.FirstOrDefault().OrganizationId; //DateTime? _lastfrom = _hierarchyVehicleRepository.GetLastEffectiveFrom(organizationId); try { _hierarchyVehicleRepository.SetOrganizationHierarchyAssignmentExpireDateTime(organizationId, DateTime.Now); } catch (Exception ex) { _logger.LogInformation("Vehicle Assignment abrupted due to error SetOrganizationHierarchyAssignmentExpireDateTime : {0} ", ex.ToString()); } try { _hierarchyVehicleRepository.DeleteOrganizationHierarchyFleetVehicles(organizationId); } catch (Exception ex) { _logger.LogInformation("Vehicle Assignment abrupted due to error DeleteOrganizationHierarchyFleetVehicles : {0} ", ex.ToString()); } foreach (HierarchyVehicle hierarchyVehicle in hierarchyVehicles) { //_oh.SaveOrganizationHierarchy(organizationId, row); try { _hierarchyVehicleRepository.SaveOrganizationHierarchyAssignmentByVehicleDescription(organizationId, hierarchyVehicle); } catch (Exception ex) { genericSchedulesLog.Log = "Module : Vehicle Assignment Function : SaveOrganizationHierarchyVehicleAssignment Error : " + ex.ToString() + " Object No : " + ex.ToString() + " Node Code: " + hierarchyVehicle.NodeCode + " vehicle description: " + hierarchyVehicle.Description; _dbLoggerService.LogInfo(genericSchedulesLog); //_logger.LogInformation("Vehicle Assignment abrupted due to error SaveOrganizationHierarchyAssignmentByVehicleDescription : {0} ", ex.ToString()); } } _logger.LogInformation("Vehicle Assignment ended"); } catch (Exception ex) { _logger.LogInformation("Vehicle Assignment abrupted due to error : {0} ", ex.ToString()); } }