Exemplo n.º 1
0
            public async Task <WebApiResult <MPRelatedInfo> > Handle(MPRelatedQueryCommand request, CancellationToken cancellationToken)
            {
                try
                {
                    MPRelatedInfo relatedInfo = new MPRelatedInfo();

                    var mp_contract_types = await preminumFinanceRepository.GetMPContractTypes(request.id_version);

                    relatedInfo.mp_contract_types = mp_contract_types;

                    var mp_payment = await preminumFinanceRepository.GetMPPayments(request.id_version);

                    relatedInfo.mp_payments = mp_payment;

                    var mp_subcontracts = await preminumFinanceRepository.GetMPSubContract(request.id_version);

                    relatedInfo.mp_subcontracts = mp_subcontracts;

                    return(new WebApiResult <MPRelatedInfo>(relatedInfo));
                }
                catch (Exception ex)
                {
                    return(WebApiResult <MPRelatedInfo> .Error(ex.Message));
                }
            }
Exemplo n.º 2
0
            public async Task <WebApiResult <IEnumerable <VersionInfo> > > Handle(VersionsQueryCommand request, CancellationToken cancellationToken)
            {
                try
                {
                    var result = await preminumFinanceRepository.GetAllVersion();

                    return(new WebApiResult <IEnumerable <VersionInfo> >(result));
                }
                catch (Exception ex)
                {
                    return(WebApiResult <IEnumerable <VersionInfo> > .Error(ex.Message));
                }
            }
Exemplo n.º 3
0
            public async Task <WebApiResult <IEnumerable <IDictionary <string, object> > > > Handle(ContractTypeQueryCommand request, CancellationToken cancellationToken)
            {
                try
                {
                    var contracts = (await preminumFinanceRepository.GetContractType()).Select(a => (IDictionary <string, object>)a);

                    return(new WebApiResult <IEnumerable <IDictionary <string, object> > >(contracts));
                }
                catch (Exception ex)
                {
                    return(WebApiResult <IEnumerable <IDictionary <string, object> > > .Error(ex.Message));
                }
            }
Exemplo n.º 4
0
            public async Task <WebApiResult <IEnumerable <states> > > Handle(StatesQueryByCountryIdCommand request, CancellationToken cancellationToken)
            {
                try
                {
                    var result = await preminumFinanceRepository.GetStateByCountryId(request.id_country);

                    return(new WebApiResult <IEnumerable <states> >(result));
                }
                catch (Exception ex)
                {
                    return(WebApiResult <IEnumerable <states> > .Error(ex.Message));
                }
            }
Exemplo n.º 5
0
            public async Task <WebApiResult <IEnumerable <IDictionary <string, object> > > > Handle(StateQueryCommand request, CancellationToken cancellationToken)
            {
                try
                {
                    var result = (await preminumFinanceRepository.GetStateByVersionId(request.VersionId)).Select(a => (IDictionary <string, object>)a);

                    return(new WebApiResult <IEnumerable <IDictionary <string, object> > >(result));
                }
                catch (Exception ex)
                {
                    return(WebApiResult <IEnumerable <IDictionary <string, object> > > .Error(ex.Message));
                }
            }
Exemplo n.º 6
0
            public async Task <WebApiResult <bool> > Handle(StateAddCommand request, CancellationToken cancellationToken)
            {
                var result = false;

                try
                {
                    StateInfo stateInfo = new StateInfo()
                    {
                        effective_date  = request.effective_date,
                        expiration_date = request.effective_date,
                        hasexpiration   = request.hasexpiration,
                        license         = request.license,
                        state_id        = request.state_id
                    };
                    //await preminumFinanceRepository.AddState(stateInfo, 1   );
                    result = true;
                    return(new WebApiResult <bool>(result));
                }
                catch (Exception ex)
                {
                    return(WebApiResult <bool> .Error(ex.Message));
                }
            }
            public async Task <WebApiResult <IEnumerable <UnitTreeOut> > > Handle(UnitLobCoverageDivisionTreeQueryCommand request, CancellationToken cancellationToken)
            {
                try
                {
                    List <UnitTreeOut> result = new List <UnitTreeOut>();
                    var data = (await preminumFinanceRepository.GetLobUnitsCoverageDivision()).ToList();
                    if (data.Any())
                    {
                        // group by product_id
                        var product_ids = from product in data
                                          group product by product.id_product into g
                                          select g;

                        if (product_ids.Any())
                        {
                            foreach (var productId in product_ids)
                            {
                                var         product     = data.FirstOrDefault(a => a.id_product == productId.Key);
                                UnitTreeOut producttree = new UnitTreeOut()
                                {
                                    id   = product.id_division_product,
                                    Data = new Data()
                                    {
                                        id_division_product = product.id_division_product,
                                        id_product          = product.id_product,
                                    },
                                    Text = product.product_name
                                };
                                data.Remove(product);
                                var lob_data = data.Where(a => a.id_product == productId.Key).ToList();
                                var lob_ids  = from lobitem in lob_data
                                               group lobitem by lobitem.id_lob into g
                                               select g;
                                if (lob_ids.Any())
                                {
                                    List <UnitTreeOut> lobs = new List <UnitTreeOut>();
                                    foreach (var lob_id in lob_ids)
                                    {
                                        var lob = lob_data.FirstOrDefault(a => a.id_lob == lob_id.Key);
                                        lob_data.Remove(lob);
                                        UnitTreeOut lobtree = new UnitTreeOut()
                                        {
                                            id   = lob.id_division_product,
                                            Data = new Data()
                                            {
                                                id_product          = producttree.Data.id_product,
                                                id_lob              = lob.id_lob,
                                                id_division_product = producttree.Data.id_division_product
                                            },
                                            Text = lob.lob_name
                                        };
                                        var division_data = lob_data.Where(a => a.id_lob == lob_id.Key).ToList();
                                        var division_ids  = from divisionitem in division_data
                                                            group divisionitem by divisionitem.id_division into g
                                                            select g;
                                        if (division_ids.Any())
                                        {
                                            List <UnitTreeOut> divisions = new List <UnitTreeOut>();
                                            foreach (var division_id in division_ids)
                                            {
                                                var division = division_data.FirstOrDefault(a => a.id_division == division_id.Key);
                                                division_data.Remove(division);
                                                UnitTreeOut divisiontree = new UnitTreeOut()
                                                {
                                                    id   = division.id_division_product,
                                                    Data = new Data()
                                                    {
                                                        id_product          = lobtree.Data.id_product,
                                                        id_division         = division.id_division,
                                                        id_division_product = lobtree.Data.id_division_product,
                                                        id_lob = lobtree.Data.id_lob,
                                                    },
                                                    Text = division.division_name
                                                };

                                                var coverage_data            = division_data.Where(a => a.id_division == division_id.Key);
                                                List <UnitTreeOut> coverages = new List <UnitTreeOut>();
                                                foreach (var coverageitem in coverage_data)
                                                {
                                                    UnitTreeOut treecoverage = new UnitTreeOut()
                                                    {
                                                        id   = coverageitem.id_division_product,
                                                        Data = new Data()
                                                        {
                                                            id_division         = divisiontree.Data.id_division,
                                                            id_coverage         = coverageitem.id_coverage,
                                                            id_division_product = divisiontree.Data.id_division_product,
                                                            id_lob     = divisiontree.Data.id_lob,
                                                            id_product = divisiontree.Data.id_product
                                                        },
                                                        Text = coverageitem.coverage_name
                                                    };
                                                    coverages.Add(treecoverage);
                                                }
                                                divisiontree.Children = coverages;
                                                coverages             = new List <UnitTreeOut>();
                                                divisions.Add(divisiontree);
                                            }

                                            lobtree.Children = divisions;
                                            divisions        = new List <UnitTreeOut>();
                                        }
                                        lobs.Add(lobtree);
                                    }
                                    producttree.Children = lobs;
                                    lobs = new List <UnitTreeOut>();
                                }

                                result.Add(producttree);
                            }
                        }
                    }

                    return(new WebApiResult <IEnumerable <UnitTreeOut> >(result));
                }
                catch (Exception ex)
                {
                    return(WebApiResult <IEnumerable <UnitTreeOut> > .Error(ex.Message));
                }
            }
Exemplo n.º 8
0
            public async Task <WebApiResult <IEnumerable <ContractTree> > > Handle(ContractTreeQueryCommand request, CancellationToken cancellationToken)
            {
                try
                {
                    var selected = await preminumFinanceRepository.GetMPSubContract(request.id_version);

                    var result    = new List <ContractTree>();
                    var contracts = await preminumFinanceRepository.GetContractTree();

                    var contracts_format = contracts.Select(a => (IDictionary <string, object>)a);
                    var bp_ids           = from bp in contracts_format
                                           group bp by bp["id_bp"] into g
                                           select g;
                    if (bp_ids.Any())
                    {
                        foreach (var item in bp_ids)
                        {
                            var          bp        = contracts_format.FirstOrDefault(a => a["id_bp"] == item.Key);
                            ContractTree bp_entity = new ContractTree()
                            {
                                id   = Convert.ToInt32(bp["id_bp"]) + 10000,
                                Data = new ContractData()
                                {
                                    id_bp   = Convert.ToInt32(bp["id_bp"]),
                                    bp_name = bp["bp_name"].ToString(),
                                    id      = Convert.ToInt32(bp["id_bp"]) + 10000
                                },
                                State    = new ContractTreeState(),
                                text     = bp["bp_name"]?.ToString() ?? "",
                                Children = new List <ContractTree>()
                            };
                            var contract_contracts = contracts_format.Where(a => Convert.ToInt32(a["id_bp"]) == Convert.ToInt32(item.Key));
                            if (contract_contracts.Any())
                            {
                                var contract_ids = from contract in contract_contracts
                                                   group contract by contract["id_contract"] into g
                                                   select g;

                                if (contract_ids.Any())
                                {
                                    foreach (var contract_id in contract_ids)
                                    {
                                        var          contract        = contract_contracts.FirstOrDefault(a => a["id_contract"] == contract_id.Key);
                                        ContractTree contract_entity = new ContractTree()
                                        {
                                            id   = Convert.ToInt32(contract["id_contract"]) + 100000,
                                            Data = new ContractData()
                                            {
                                                contract_name = contract["contract_name"]?.ToString() ?? "",
                                                id_contract   = Convert.ToInt32(contract["id_contract"]),
                                                id            = Convert.ToInt32(contract["id_contract"]) + 100000
                                            },
                                            text     = contract["contract_name"]?.ToString() ?? "",
                                            State    = new ContractTreeState(),
                                            Children = new List <ContractTree>()
                                        };

                                        var subcontracts = contract_contracts.Where(a => Convert.ToInt32(a["id_contract"]) == Convert.ToInt32(contract_id.Key));

                                        if (subcontracts.Any())
                                        {
                                            foreach (var subcontract in subcontracts)
                                            {
                                                ContractTree subcontract_entity = new ContractTree()
                                                {
                                                    Data = new ContractData()
                                                    {
                                                        subcontract_name = subcontract["subcontract_name"]?.ToString() ?? "empty",
                                                        id = Convert.ToInt32(subcontract["subcontract_id"])
                                                    },
                                                    id    = Convert.ToInt32(subcontract["subcontract_id"]),
                                                    State = new ContractTreeState(),
                                                    text  = subcontract["subcontract_name"]?.ToString() ?? "empty"
                                                };
                                                if (selected.Any(a => a == subcontract_entity.id))
                                                {
                                                    subcontract_entity.State.Selected = true;
                                                    contract_entity.State.Opened      = true;
                                                }

                                                contract_entity.Children.Add(subcontract_entity);
                                            }
                                        }
                                        if (selected.Any(a => a == contract_entity.id))
                                        {
                                            contract_entity.State.Selected = true;
                                            bp_entity.State.Opened         = true;
                                        }

                                        bp_entity.Children.Add(contract_entity);
                                    }
                                }
                            }

                            result.Add(bp_entity);
                        }
                    }

                    return(new WebApiResult <IEnumerable <ContractTree> >(result));
                }
                catch (Exception ex)
                {
                    return(WebApiResult <IEnumerable <ContractTree> > .Error(ex.Message));
                }
            }