public HttpResponseMessage GetAllFarmers()
        {
            var farmers = _commodityOwnerRepository.GetAll(false);
            List<FarmerSummary> retlist = new List<FarmerSummary>();

            foreach (var farmer in farmers)
            {
                FarmerSummary fs = new FarmerSummary
                                       {
                                           Code = farmer.Code,
                                           FullName = farmer.FullName,
                                           Id = farmer.Id,
                                       };
                var factory = _commoditySupplierRepository.GetById(farmer.CommoditySupplier.ParentCostCentre.Id, true);
                if(factory!= null)
                {
                    fs.FactoryId = factory.Id;
                    fs.FactoryCode = factory.CostCentreCode;
                }
                retlist.Add(fs);
            }
            return Request.CreateResponse(HttpStatusCode.OK, retlist);
        }
        private FarmerSummaryDTO Map(FarmerSummary item)
        {
            var commodityName = _ctx.tblCommodity.FirstOrDefault(x=>x.Id==item.CommodityId).Name;

            var dto = new FarmerSummaryDTO();
            dto.CommodityName = commodityName;
            dto.CummWeight = item.CummWeight;

            return dto;
        }
        public HttpResponseMessage GetFarmerSummary(Guid farmerId)
        {
            var farmer = _commodityOwnerRepository.GetById(farmerId);
            FarmerSummary fs = new FarmerSummary
            {
                Code = farmer.Code,
                FullName = farmer.FullName,
                Id = farmer.Id,
            };
            var factory = _commoditySupplierRepository.GetById(farmer.CommoditySupplier.ParentCostCentre.Id, true);
            if (factory != null)
            {
                fs.FactoryId = factory.Id;
                fs.FactoryCode = factory.CostCentreCode;
            }

            var summary = _transactionsSummary.GetFarmerSummary(farmerId);

            PropertyInfo totalLastMonthWeightFeld = summary.GetType().GetProperty("totalLastMonthWeight");
            var totalLastMonthWeight = totalLastMonthWeightFeld.GetValue(summary);
            PropertyInfo qtyLastDeliveredField = summary.GetType().GetProperty("qtyLastDelivered");
            var qtyLastDelivered = qtyLastDeliveredField.GetValue(summary);
            PropertyInfo lastTranDateField = summary.GetType().GetProperty("lastTranDate");
            var lastTranDate = lastTranDateField.GetValue(summary);

            fs.LastDeliverlyDate = (DateTime) lastTranDate;
            fs.MonthlyCummWeight = Convert.ToDecimal(totalLastMonthWeight);
            fs.QtyLastDelivered = Convert.ToDecimal(qtyLastDelivered);

            return Request.CreateResponse(HttpStatusCode.OK, fs);
        }