Esempio n. 1
0
        public override IEnumerable <AccessoryIssueModel> ExportAccessoryIssueReport(IMongoCollection <AccessoryIssue> _accessoryIssue)
        {
            List <AccessoryIssueModel> res = new List <AccessoryIssueModel>();
            List <Tuple <DateTime, string, double, int> > temp = new List <Tuple <DateTime, string, double, int> >();
            var accessoryIssueFilterBuilder = Builders <AccessoryIssue> .Filter;
            var accessoryIssueFilter        = accessoryIssueFilterBuilder.Gte("CreatedDate", _start)
                                              & accessoryIssueFilterBuilder.Lt("CreatedDate", _end);
            var dataRepairedRequestId = _accessoryIssue.Find(accessoryIssueFilter)
                                        .Project(a => new { a.CreatedDate, a.RepairedRequestId })
                                        .ToList();

            foreach (var data in dataRepairedRequestId)
            {
                List <QuotationDetail> details = _rrService.GetQuotationDetails(data.RepairedRequestId);
                foreach (var quotationDetail in details)
                {
                    temp.Add(new Tuple <DateTime, string, double, int>(data.CreatedDate, quotationDetail.AccessoryId, quotationDetail.UnitPrice, quotationDetail.Quantity));
                }
            }

            foreach (var accessory in temp)
            {
                var dataAccessory     = _accessoryService.Get(accessory.Item2);
                AccessoryIssueModel a = new AccessoryIssueModel(accessory.Item1, dataAccessory.Name, accessory.Item3, dataAccessory.Provider.Name, accessory.Item4);
                res.Add(a);
            }
            return(res);
        }