Example #1
0
        public IActionResult Load(long?ID, long?ReportGroupID, long?LanguageID)
        {
            GetReport operation = new GetReport();

            operation.ID            = ID;
            operation.ReportGroupID = ReportGroupID;

            if (LanguageID.HasValue)
            {
                operation.LangID = LanguageID;
            }
            else
            {
                operation.LangID = 1;
            }

            var result = operation.QueryAsync().Result;

            if (result is ValidationsOutput)
            {
                return(Ok(new ApiResult <List <ValidationItem> >()
                {
                    Data = ((ValidationsOutput)result).Errors
                }));
            }
            else
            {
                return(Ok((List <Report>)result));
            }
        }
Example #2
0
        public IActionResult LoadRelated(long?ID, long?ProductID, long?ProductDetailID, long?langId)
        {
            GetProductReports operation  = new GetProductReports();
            GetReport         operation2 = new GetReport();

            operation.ID              = ID;
            operation.ProductId       = ProductID;
            operation.ProductDetailId = ProductDetailID;
            if (langId.HasValue)
            {
                operation.LangID  = langId;
                operation2.LangID = langId;
            }
            else
            {
                operation.LangID  = 1;
                operation2.LangID = 1;
            }

            var result  = operation.QueryAsync().Result;
            var result2 = (List <Report>)operation2.QueryAsync().Result;

            List <ProductReport> RelatedReports   = new List <ProductReport>();
            List <Report>        UnRelatedReports = new List <Report>();



            var productReports = (List <ProductReport>)result;


            if (productReports.Count > 0)
            {
                RelatedReports = productReports.Where(p => result2.Any(s => s.ID == p.ReportId)).ToList();

                UnRelatedReports = result2.Where(s => productReports.Any(p => p.ReportId != s.ID)).ToList();

                UnRelatedReports = UnRelatedReports.Where(un => !RelatedReports.Exists(re => un.ID == re.ReportId)).ToList();
            }
            else
            {
                UnRelatedReports = result2;
            }
            if (result is ValidationsOutput)
            {
                return(Ok(new ApiResult <List <ValidationItem> >()
                {
                    Data = ((ValidationsOutput)result).Errors
                }));
            }
            else
            {
                return(Ok(new { UnRelatedReports, RelatedReports }));
            }
        }
        public IActionResult LoadReports(long?groupID, long?reportID, long?LanguageID)
        {
            GetGroupRelation operation        = new GetGroupRelation();
            GetReport        getRelatedReport = new GetReport();

            operation.GroupID = groupID;
            GetReport getUnRelatedReport = new GetReport();

            if (LanguageID.HasValue)
            {
                operation.LangID          = LanguageID;
                getRelatedReport.LangID   = LanguageID;
                getUnRelatedReport.LangID = LanguageID;
            }
            else
            {
                operation.LangID          = 1;
                getUnRelatedReport.LangID = 1;
                getRelatedReport.LangID   = 1;
            }

            var Reports = (List <Report>)getRelatedReport.QueryAsync().Result;

            var result  = operation.QueryAsync().Result;
            var reports = (List <GroupRelation>)result;

            List <Report> returnedRelatedReports   = new List <Report>();
            List <Report> returnedUnRelatedReports = new List <Report>();

            var groups = (List <GroupRelation>)result;

            if (groups.Count > 0)
            {
                foreach (var item in Reports)
                {
                    foreach (var group in groups)
                    {
                        if (group.RefrenceID == item.ID)
                        {
                            bool alreadyExist             = returnedRelatedReports.Contains(item);
                            bool alreadyExistInSecondList = returnedUnRelatedReports.Contains(item);
                            if (!alreadyExist && !alreadyExistInSecondList)
                            {
                                item.ReportRelationID = group.ID.Value;
                                returnedRelatedReports.Add(item);
                            }
                            else
                            {
                                item.ReportRelationID = group.ID.Value;
                                returnedRelatedReports.Add(item);
                                returnedUnRelatedReports.Remove(item);
                            }
                        }
                        else
                        {
                            bool alreadyExist            = returnedUnRelatedReports.Contains(item);
                            bool alreadyExistInFirstList = returnedRelatedReports.Contains(item);
                            if (!alreadyExist && !alreadyExistInFirstList)
                            {
                                item.ReportRelationID = group.ID.Value;
                                returnedUnRelatedReports.Add(item);
                            }
                        }
                    }
                }
            }
            else
            {
                returnedUnRelatedReports = Reports;
            }
            if (result is ValidationsOutput)
            {
                return(Ok(new ApiResult <List <ValidationItem> >()
                {
                    Data = ((ValidationsOutput)result).Errors
                }));
            }
            else
            {
                return(Ok(new { RelatedReports = returnedRelatedReports, UnRelatedReports = returnedUnRelatedReports }));
            }
        }