public Entity.BaseResponse <List <Response.DevicePeakHoursResponse> > GetPeakHoursByElevator(Request.ElevatorsPeakRequest request) { Entity.BaseResponse <List <Response.DevicePeakHoursResponse> > responseResult = new Entity.BaseResponse <List <Response.DevicePeakHoursResponse> >(); List <Response.DevicePeakHoursResponse> tripList = new List <Response.DevicePeakHoursResponse>(); try { string ids = String.Join(",", request.ElevatorList); _logger.InfoLog(Constants.ACTION_ENTRY, "Chart_PeakHoursByElevator.Get"); using (var sqlDataAccess = new SqlDataAccess(ConnectionString)) { List <Response.OperationHours> result = new List <Response.OperationHours>(); List <DbParameter> parameters = sqlDataAccess.CreateParams(component.helper.SolutionConfiguration.CurrentUserId, component.helper.SolutionConfiguration.Version); parameters.Add(sqlDataAccess.CreateParameter("companyguid", component.helper.SolutionConfiguration.CompanyId, DbType.Guid, ParameterDirection.Input)); parameters.Add(sqlDataAccess.CreateParameter("elevators", ids, DbType.String, ParameterDirection.Input)); parameters.Add(sqlDataAccess.CreateParameter("frequency", request.Frequency, DbType.String, ParameterDirection.Input)); parameters.Add(sqlDataAccess.CreateParameter("enableDebugInfo", component.helper.SolutionConfiguration.EnableDebugInfo, DbType.String, ParameterDirection.Input)); parameters.Add(sqlDataAccess.CreateParameter("syncDate", DateTime.UtcNow, DbType.DateTime, ParameterDirection.Output)); DbDataReader dbDataReader = sqlDataAccess.ExecuteReader(sqlDataAccess.CreateCommand("[Chart_PeakHoursByElevator]", CommandType.StoredProcedure, null), parameters.ToArray()); result = DataUtils.DataReaderToList <Response.OperationHours>(dbDataReader, null); if (parameters.Where(p => p.ParameterName.Equals("syncDate")).FirstOrDefault() != null) { responseResult.LastSyncDate = Convert.ToString(parameters.Where(p => p.ParameterName.Equals("syncDate")).FirstOrDefault().Value); } var resultGrp = from data in result group data by data.Name into egroup select egroup; foreach (var group in resultGrp) { List <Response.PeakLookup> lookupItems = new List <Response.PeakLookup>(); foreach (var items in group) { lookupItems.Add(new Response.PeakLookup { Name = items.ElevatorName, Value = items.Value }); } tripList.Add(new Response.DevicePeakHoursResponse { Time = group.Key, Value = lookupItems }); } responseResult.Data = tripList; } _logger.InfoLog(Constants.ACTION_EXIT, null, "", "", this.GetType().Name, MethodBase.GetCurrentMethod().Name); } catch (Exception ex) { _logger.ErrorLog(ex, this.GetType().Name, MethodBase.GetCurrentMethod().Name); } return(responseResult); }
public Entity.BaseResponse <List <Response.DevicePeakHoursResponse> > GetDevicesPeakHours(Request.ElevatorsPeakRequest elevatorIds) { if (elevatorIds == null) { return(new Entity.BaseResponse <List <Response.DevicePeakHoursResponse> >(false, "Invalid Request")); } Entity.BaseResponse <List <Response.DevicePeakHoursResponse> > response = new Entity.BaseResponse <List <Response.DevicePeakHoursResponse> >(true); try { List <Response.DevicePeakHoursResponse> tripList = new List <Response.DevicePeakHoursResponse> { new Response.DevicePeakHoursResponse { Time = "0:00", Value = new List <Response.PeakLookup> { new Response.PeakLookup { Name = "e1", Value = "10" }, new Response.PeakLookup { Name = "e2", Value = "10" }, } }, new Response.DevicePeakHoursResponse { Time = "1:00", Value = new List <Response.PeakLookup> { new Response.PeakLookup { Name = "e1", Value = "20" }, new Response.PeakLookup { Name = "e2", Value = "20" }, } }, new Response.DevicePeakHoursResponse { Time = "3:00", Value = new List <Response.PeakLookup> { new Response.PeakLookup { Name = "e1", Value = "30" }, new Response.PeakLookup { Name = "e2", Value = "30" }, } }, }; response.Data = tripList; response.IsSuccess = true; } catch (Exception ex) { base.LogException(ex); return(new Entity.BaseResponse <List <Response.DevicePeakHoursResponse> >(false, ex.Message)); } return(response); }
public Entity.BaseResponse <List <Response.DevicePeakHoursResponse> > PeakHoursByElevator(Request.ElevatorsPeakRequest request) { Entity.BaseResponse <List <Response.DevicePeakHoursResponse> > response = new Entity.BaseResponse <List <Response.DevicePeakHoursResponse> >(); try { response = _chartService.GetPeakHoursByElevator(request); response.IsSuccess = true; } catch (Exception ex) { base.LogException(ex); return(new Entity.BaseResponse <List <Response.DevicePeakHoursResponse> >(false, ex.Message)); } return(response); }