예제 #1
0
        public ViolationDetailsDTO GetViolationDetailsByAsset(string LocationCode, DateTime?StartDateTime, int?ViolationTypeId)
        {
            var res = new ViolationDetailsDTO();

            try
            {
                res.AssetsDetails = new AssetDetailsForViolation();
                res.TotalsByTypes = operationalDataContext.fn_GroupViolationsByLocationAndType(StartDateTime, ViolationTypeId, LocationCode).Select(Violation => new TotalViolationValuesByTypes
                {
                    TotalCountOfViolations = Violation.ViolationCountByType.Value,
                    VioltionTypeId         = Violation.ViolationTypeId,
                    VioltionTypeName       = Violation.ViolationTypeName
                }).ToList();
                res.TotalsByStatus = operationalDataContext.fn_GroupViolationsByLocationAndStatus(StartDateTime, ViolationTypeId, LocationCode).Select(Violation => new TotalViolationValuesByStatus
                {
                    TotalCountOfViolations = Violation.ViolationsCountByStatus.Value,
                    VioltionStatusId       = Violation.ViolationStatusId,
                    VioltionStatusName     = Violation.ViolationStatusName
                }).ToList();
                res.AssetsDetails = operationalDataContext.AssetsViews.Where(asset => asset.LocationCode == LocationCode).Select(assetdata => new AssetDetailsForViolation
                {
                    AssetName          = assetdata.Name,
                    AssetStatus        = assetdata.AssetStatus,
                    LastMainteanceDate = "",
                    VendorName         = assetdata.VendorName
                }).FirstOrDefault();
            }
            catch (Exception)
            {
            }
            return(res);
        }