public IResult <IChileMaterialsReceivedDetailReturn> GetChileMaterialsReceivedDetail(string lotKey) { if (lotKey == null) { throw new ArgumentNullException("lotKey"); } var lotKeyResult = KeyParserHelper.ParseResult <ILotKey>(lotKey); if (!lotKeyResult.Success) { return(lotKeyResult.ConvertTo <IChileMaterialsReceivedDetailReturn>()); } var predicate = lotKeyResult.ResultingObject.ToLotKey().GetPredicate <ChileMaterialsReceived>(); var select = ChileMaterialsReceivedProjectors.SelectDetail(); var detail = _materialsReceivedUnitOfWork.ChileMaterialsReceivedRepository.Filter(predicate).AsExpandable().Select(select).FirstOrDefault(); if (detail == null) { return(new InvalidResult <IChileMaterialsReceivedDetailReturn>(null, string.Format(UserMessages.ChileMaterialsReceivedNotFound, lotKey))); } return(new SuccessResult <IChileMaterialsReceivedDetailReturn>(detail)); }
public IResult <IChileMaterialsReceivedRecapReturn> GetRecapReport(string lotKey) { var lotKeyResult = KeyParserHelper.ParseResult <ILotKey>(lotKey); if (!lotKeyResult.Success) { return(lotKeyResult.ConvertTo <IChileMaterialsReceivedRecapReturn>()); } ; var result = _materialsReceivedUnitOfWork.ChileMaterialsReceivedRepository .FilterByKey(lotKeyResult.ResultingObject.ToLotKey()) .Select(ChileMaterialsReceivedProjectors.SelectRecapReport()) .FirstOrDefault(); if (result == null) { return(new InvalidResult <IChileMaterialsReceivedRecapReturn>(null, string.Format(UserMessages.ChileMaterialsReceivedNotFound, lotKey))); } return(new SuccessResult <IChileMaterialsReceivedRecapReturn>(result)); }
public IResult <IQueryable <IChileMaterialsReceivedSummaryReturn> > GetChileMaterialsReceivedSummaries(ChileMaterialsReceivedFilters filters) { var filterParametersResult = filters.ToParsedParameters(); if (!filterParametersResult.Success) { return(filterParametersResult.ConvertTo <IQueryable <IChileMaterialsReceivedSummaryReturn> >()); } var predicateResult = ChileMaterialsReceivedPredicateBuilder.BuildPredicate(filterParametersResult.ResultingObject); if (!predicateResult.Success) { return(predicateResult.ConvertTo <IQueryable <IChileMaterialsReceivedSummaryReturn> >()); } var results = _materialsReceivedUnitOfWork.ChileMaterialsReceivedRepository .Filter(predicateResult.ResultingObject) .Select(ChileMaterialsReceivedProjectors.SelectSummary()); return(new SuccessResult <IQueryable <IChileMaterialsReceivedSummaryReturn> >(results)); }