Example #1
0
        public List <AssetDetails> GetAssetDetailsByEmpcode(string id)
        {
            List <AssetDetails> assetCsoList = new List <AssetDetails>();
            List <Requests>     requestClear = _repo.GetAllCsoRequest();

            //getting assets of a particular employee
            foreach (Requests req in requestClear)
            {
                List <Assets> assets = _assetRepo.GetAssetsByCso(req.EmployeeCode);
                foreach (Assets req1 in assets)
                {
                    AssetDetails asset = _assetDb.GetAssetByCode(req1.AssetCode); //repo call
                    //setting the details to the view model
                    AssetDetails model = new AssetDetails();
                    model.AssetId            = req1.AssetId;
                    model.AssetCode          = req1.AssetCode;
                    model.AssetStatus        = req1.AssetStatus;
                    model.ReAssignedTo       = req1.ReassignedTo;
                    model.CompanyCode        = asset.CompanyCode;
                    model.CapitalisationDate = asset.CapitalisationDate;
                    model.Location           = asset.Location;
                    model.Description        = asset.Description;
                    assetCsoList.Add(model); //adding to the list to be returned
                }
            }
            return(assetCsoList);
        }
        //Method to get all the discrepant asset records based on the data from the final report generated
        //and the updated data from the SAP
        public List <AssetControllerDiscrepancyReport> GetDiscrepantRecords()
        {
            List <AssetControllerDiscrepancyReport> discrepancyList = new List <AssetControllerDiscrepancyReport>();
            //Repository method to get all the cleared request
            List <Requests> requestList = _requestrepo.GetAllClearedRequest();

            foreach (var req in requestList)
            {
                //time difference between the request completion and current date is being checked here
                DateTime date       = DateTime.Today;
                TimeSpan difference = date.Date - req.DateOfCompletionRequest.Date;
                if (difference.Days >= 1)
                {
                    //Repository method to get all the asset associated to a employee
                    List <Assets> assetList = _assetrepo.GetAssetByEmpCode(req.EmployeeCode);
                    foreach (var asset in assetList)
                    {
                        //A call to the niit database is being triggered to get a single asset details
                        AssetDetails assetSAP = _assetDb.GetAssetByCode(asset.AssetCode);
                        string[]     empId    = asset.ReassignedTo.Split(':');
                        if (assetSAP.EmployeeCode != empId[0])
                        {
                            EmployeeDetails emp  = _empDb.GetName(empId[0]);
                            EmployeeDetails emp2 = _empDb.GetName(assetSAP.EmployeeCode);
                            //if discrepancy exists then values are being assigned to the view model
                            AssetControllerDiscrepancyReport report = new AssetControllerDiscrepancyReport();
                            report.RequestId       = req.RequestId;
                            report.AssetCode       = asset.AssetCode;
                            report.RepEmployeeCode = asset.ReassignedTo;
                            report.RepEmployeeName = emp.EmployeeName;
                            report.SapEmployeeCode = assetSAP.EmployeeCode;
                            report.SapEmployeeName = emp2.EmployeeName;
                            discrepancyList.Add(report); //discrepant record are being added to the list to be returned
                        }
                    }
                }
            }
            return(discrepancyList);
        }