コード例 #1
0
        public ActionResult AutocompleteLegalEntities(string term)
        {
            ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db);
            var legalEntities = legalEntitiesRepository.GetValid().Where(c => c.OIB.Contains(term) || c.Name.Contains(term)).OrderBy(x => x.Name);

            return(Json(legalEntities.Select(c => new { value = c.Name + " (" + c.OIB + ")", value_id = c.LegalEntityPK }), JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        public ActionResult Index()
        {
            ILegalEntityLegalRepresentativesRepository legalEntityLegalRepresentativesRepository = new LegalEntityLegalRepresentativesRepository(db);
            LegalEntityLegalRepresentativeView         legalEntityLegalRepresentativeView        = new LegalEntityLegalRepresentativeView();
            IContractsRepository           contractsRepository           = new ContractsRepository(db);
            ILegalEntityBranchesRepository legalEntityBranchesRepository = new LegalEntityBranchesRepository(db);
            ILegalEntitiesRepository       legalEntitiesRepository       = new LegalEntitiesRepository(db);
            IPhysicalEntitiesRepository    physicalEntitiesRepository    = new PhysicalEntitiesRepository(db);

            int    page       = !String.IsNullOrWhiteSpace(Request.QueryString["page"]) ? Convert.ToInt32(Request.QueryString["page"]) : 1;
            int    pageSize   = !String.IsNullOrWhiteSpace(Request.QueryString["pageSize"]) ? Convert.ToInt32(Request.QueryString["pageSize"]) : Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["ResultsPerPage"]);
            string sortOrder  = !String.IsNullOrWhiteSpace(Request.QueryString["sortOrder"]) ? Request.QueryString["sortOrder"] : "DESC";
            string sortColumn = !String.IsNullOrWhiteSpace(Request.QueryString["sortColumn"]) ? Request.QueryString["sortColumn"] : "LegalEntityLegalRepresentativePK";
            string ordering   = sortColumn + " " + sortOrder;

            ordering = ordering.Trim();

            IQueryable <LegalEntityLegalRepresentativeView> legalEntityLegalRepresentatives = LegalEntityLegalRepresentativeView.GetLegalEntityLegalRepresentativeView(legalEntityLegalRepresentativesRepository.GetValid(), legalEntitiesRepository.GetValid(), physicalEntitiesRepository.GetValid())
                                                                                              .OrderBy(ordering);

            //legalEntities ddl
            ViewBag.LegalEntities = new SelectList(legalEntitiesRepository.GetValidLegalEntities().OrderBy("Name ASC").ToList(), "LegalEntityPK", "Name", Request.QueryString["legalEntityFK"]);

            if (!String.IsNullOrWhiteSpace(Request.QueryString["legalEntityFK"]))
            {
                int legalEntityFK = Convert.ToInt32(Request.QueryString["legalEntityFK"]);
                legalEntityLegalRepresentatives = legalEntityLegalRepresentatives.Where(c => c.LegalEntityFK == legalEntityFK);
            }

            legalEntityLegalRepresentatives = legalEntityLegalRepresentatives.Page(page, pageSize);

            ViewData["numberOfRecords"] = legalEntityLegalRepresentatives.Count();

            int numberOfPages = ((int)ViewData["numberOfRecords"] + pageSize - 1) / pageSize;

            if (page > numberOfPages)
            {
                string url = LinkHelper.getQueryStringArray(new string[] { "page" });
                return(Redirect("LegalEntityLegalRepresentative?" + url + "page=" + numberOfPages));
            }
            else
            {
                return(View("Index", legalEntityLegalRepresentatives.ToList()));
            }
        }
コード例 #3
0
        public static IQueryable <LegalEntity> GetLegalEntitiesReport(ObjectContext db, string ordering, string Name, string OIB, string MB, string MBS, int?BankPK, int?TaxPK, int?FormPK, int?ActivityPK, int?numberOfEmployeesFrom, int?numberOfEmployeesTo)
        {
            ILegalEntitiesRepository    legalEntitiesRepository      = new LegalEntitiesRepository(db);
            IBanksRepository            banksRepository              = new BanksRepository(db);
            ILegalEntityBanksRepository legalEntitiesBanksRepository = new LegalEntityBanksRepository(db);

            var banks = banksRepository.GetValid();
            var legalEntitiesBanks = legalEntitiesBanksRepository.GetValid();
            var allLegalEntities   = legalEntitiesRepository.GetValid();

            // Applying filters
            IQueryable <LegalEntity> legalEntitiesFiltered = allLegalEntities; // default list

            // Banks
            if (BankPK != null)
            {
                legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByBank(db, BankPK);
            }

            // Tax payers
            if (TaxPK != null)
            {
                legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByTax(TaxPK);
            }

            // Forms
            if (FormPK != null)
            {
                legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByForm(FormPK);
            }

            // ACtivities
            if (ActivityPK != null)
            {
                legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByActivity(ActivityPK);
            }

            // Name filter
            if (!String.IsNullOrWhiteSpace(Name))
            {
                legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByName(Name);
            }

            // OIB filter
            if (!String.IsNullOrWhiteSpace(OIB))
            {
                legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByOIB(OIB);
            }

            // MB filter
            if (!String.IsNullOrWhiteSpace(MB))
            {
                legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByMB(MB);
            }

            // MBS filter
            if (!String.IsNullOrWhiteSpace(MBS))
            {
                legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByMBS(MBS);
            }

            // numberOfEmployees
            if (numberOfEmployeesFrom != null || numberOfEmployeesTo != null)
            {
                legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByEmployeesRange(numberOfEmployeesFrom, numberOfEmployeesTo);
            }

            return(legalEntitiesFiltered);
        }
コード例 #4
0
        public static List <List <LegalEntityBranchAuditView> > GetLegalEntityBranchesAuditView(ObjectContext context, int legalEntityFK)
        {
            ILegalEntitiesRepository       legalEntitiesRepository = new LegalEntitiesRepository(context);
            ILegalEntityBranchesRepository legalEntityLegalEntityBranchesRepository = new LegalEntityBranchesRepository(context);

            // get all legalEntity legalEntityBranches
            List <LegalEntityBranchView> legalEntityBranchesList = LegalEntityBranchView.GetLegalEntityBranchView(legalEntityLegalEntityBranchesRepository.GetAll(), legalEntitiesRepository.GetValid())
                                                                   .Where(c => c.LegalEntityFK == legalEntityFK)
                                                                   .ToList();

            List <List <LegalEntityBranchAuditView> > LegalEntityBranchesListList = new List <List <LegalEntityBranchAuditView> >();

            foreach (LegalEntityBranchView legalEntityBranch in legalEntityBranchesList)
            {
                LegalEntityBranchesListList.Add(LegalEntityBranchAuditView.GetLegalEntityBranchAuditView(context, legalEntityBranch.LegalEntityBranchPK));
            }

            return(LegalEntityBranchesListList);
        }
コード例 #5
0
        public static List <LegalEntityOwnerAuditView> GetLegalEntityOwnerAuditView(ObjectContext context, int relatedEntityPK)
        {
            IAuditingDetailsRepository auditingDetailsRepository = new AuditingDetailsRepository(context);
            IAuditingMasterRepository  auditingMasterRepository  = new AuditingMasterRepository(context);

            var sessionTokens = (from am in auditingMasterRepository.GetAll().Where(c => c.TableName == "LegalEntityOwners")
                                 where am.RelatedEntityPK == relatedEntityPK
                                 select new {
                AuditingMasterPK = am.AuditingMasterPK,
                RelatedEntityPK = am.RelatedEntityPK,
                SessionToken = am.SessionToken
            }).ToList();

            List <LegalEntityOwnerAuditView> legalEntityOwnerAuditViewList = new List <LegalEntityOwnerAuditView>();

            foreach (var item in sessionTokens)
            {
                var record = auditingDetailsRepository.GetAuditingDetailByAuditingMasterPK(item.AuditingMasterPK).ToList();

                LegalEntityOwnerAuditView legalEntityOwnerAuditView = new LegalEntityOwnerAuditView();

                legalEntityOwnerAuditView.LegalEntityFK = record.checkInteger("LegalEntityFK");
                legalEntityOwnerAuditView.OwnerFK       = record.checkInteger("OwnerFK");
                legalEntityOwnerAuditView.OwnerType     = record.checkString("OwnerType");

                legalEntityOwnerAuditView.BusinessShareAmount        = record.checkDecimal("BusinessShareAmount");
                legalEntityOwnerAuditView.PaidBussinesShareAmount    = record.checkDecimal("PaidBussinesShareAmount");
                legalEntityOwnerAuditView.NominalBussinesShareAmount = record.checkDecimal("NominalBussinesShareAmount");

                legalEntityOwnerAuditView.AdditionalFactorFK    = record.checkInteger("AdditionalFactorFK");
                legalEntityOwnerAuditView.FulfilledFactorFK     = record.checkInteger("FulfilledFactorFK");
                legalEntityOwnerAuditView.BussinesShareBurdenFK = record.checkInteger("BussinesShareBurdenFK");
                legalEntityOwnerAuditView.ChangeTypeFK          = record.checkInteger("ChangeTypeFK");
                legalEntityOwnerAuditView.NumberOfVotes         = record.checkInteger("NumberOfVotes");

                legalEntityOwnerAuditView.EntryDate  = record.checkDate("EntryDate");
                legalEntityOwnerAuditView.ChangeDate = record.checkDate("ChangeDate");

                legalEntityOwnerAuditView.Deleted = record.checkBoolean("Deleted");

                legalEntityOwnerAuditViewList.Add(legalEntityOwnerAuditView);
            }

            ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(context);
            IQueryable <LegalEntity> legalEntitiesTable      = legalEntitiesRepository.GetValid();

            IPhysicalEntitiesRepository physicalEntitiesRepository = new PhysicalEntitiesRepository(context);
            IQueryable <PhysicalEntity> physicalEntitiesTable      = physicalEntitiesRepository.GetValid();

            IAdditionalFactorsRepository  additionalFactorsRepository = new AdditionalFactorsRepository(context);
            IQueryable <AdditionalFactor> additionalFactorsTable      = additionalFactorsRepository.GetValid();

            IFulfilledFactorsRepository  fulfilledFactorsRepository = new FulfilledFactorsRepository(context);
            IQueryable <FulfilledFactor> fulfilledFactorsTable      = fulfilledFactorsRepository.GetValid();

            IBussinesShareBurdensRepository  bussinesShareBurdensRepository = new BussinesShareBurdensRepository(context);
            IQueryable <BussinesShareBurden> bussinesShareBurdensTable      = bussinesShareBurdensRepository.GetValid();

            IChangeTypesRepository  changeTypesRepository = new ChangeTypesRepository(context);
            IQueryable <ChangeType> changeTypesTable      = changeTypesRepository.GetValid();

            IQueryable <LegalEntityOwnerAuditView> legalEntityOwnersLE =
                (from t in legalEntityOwnerAuditViewList
                 from t1 in legalEntitiesTable.Where(tbl => tbl.LegalEntityPK == t.OwnerFK).DefaultIfEmpty()
                 from t2 in additionalFactorsTable.Where(tbl => tbl.AdditionalFactorPK == t.AdditionalFactorFK).DefaultIfEmpty()
                 from t3 in fulfilledFactorsTable.Where(tbl => tbl.FulfilledFactorPK == t.FulfilledFactorFK).DefaultIfEmpty()
                 from t4 in bussinesShareBurdensTable.Where(tbl => tbl.BussinesShareBurdenPK == t.BussinesShareBurdenFK).DefaultIfEmpty()
                 from t5 in changeTypesTable.Where(tbl => tbl.ChangeTypePK == t.ChangeTypeFK).DefaultIfEmpty()

                 where t.ChangeDate != null && t.OwnerType != null && t.OwnerType.Contains("le")
                 select new LegalEntityOwnerAuditView
            {
                LegalEntityOwnerPK = t.LegalEntityOwnerPK,

                OwnerName = t1 != null && t1.Name != null ? t1.Name : null,
                AdditionalFactorName = t2 != null && t2.Name != null ? t2.Name : null,
                FulfilledFactorName = t3 != null && t3.Name != null ? t3.Name : null,
                BussinesShareBurdenName = t4 != null && t4.Name != null ? t4.Name : null,
                ChangeTypeName = t5 != null && t5.Name != null ? t5.Name : null,

                BusinessShareAmount = t.BusinessShareAmount != null ? t.BusinessShareAmount : null,
                PaidBussinesShareAmount = t.PaidBussinesShareAmount != null ? t.PaidBussinesShareAmount : null,
                NominalBussinesShareAmount = t.NominalBussinesShareAmount != null ? t.NominalBussinesShareAmount : null,

                NumberOfVotes = t.NumberOfVotes != null ? t.NumberOfVotes : null,

                EntryDate = t.EntryDate != null ? t.EntryDate : null,
                ChangeDate = t.ChangeDate != null ? t.ChangeDate : null,
                Deleted = t.Deleted != null ? t.Deleted : null,
            }).AsQueryable <LegalEntityOwnerAuditView>();


            IQueryable <LegalEntityOwnerAuditView> legalEntityOwnersPE =
                (from t in legalEntityOwnerAuditViewList
                 from t1 in physicalEntitiesTable.Where(tbl => tbl.PhysicalEntityPK == t.OwnerFK).DefaultIfEmpty()
                 from t2 in additionalFactorsTable.Where(tbl => tbl.AdditionalFactorPK == t.AdditionalFactorFK).DefaultIfEmpty()
                 from t3 in fulfilledFactorsTable.Where(tbl => tbl.FulfilledFactorPK == t.FulfilledFactorFK).DefaultIfEmpty()
                 from t4 in bussinesShareBurdensTable.Where(tbl => tbl.BussinesShareBurdenPK == t.BussinesShareBurdenFK).DefaultIfEmpty()
                 from t5 in changeTypesTable.Where(tbl => tbl.ChangeTypePK == t.ChangeTypeFK).DefaultIfEmpty()

                 where t.ChangeDate != null && t.OwnerType != null && t.OwnerType.Contains("pe")
                 select new LegalEntityOwnerAuditView
            {
                LegalEntityOwnerPK = t.LegalEntityOwnerPK,

                OwnerName = t1 != null && t1.Firstname != null && t1.Lastname != null ? t1.Firstname + " " + t1.Lastname : null,
                AdditionalFactorName = t2 != null && t2.Name != null ? t2.Name : null,
                FulfilledFactorName = t3 != null && t3.Name != null ? t3.Name : null,
                BussinesShareBurdenName = t4 != null && t4.Name != null ? t4.Name : null,
                ChangeTypeName = t5 != null && t5.Name != null ? t5.Name : null,

                BusinessShareAmount = t.BusinessShareAmount != null ? t.BusinessShareAmount : null,
                PaidBussinesShareAmount = t.PaidBussinesShareAmount != null ? t.PaidBussinesShareAmount : null,
                NominalBussinesShareAmount = t.NominalBussinesShareAmount != null ? t.NominalBussinesShareAmount : null,

                NumberOfVotes = t.NumberOfVotes != null ? t.NumberOfVotes : null,

                EntryDate = t.EntryDate != null ? t.EntryDate : null,

                ChangeDate = t.ChangeDate != null ? t.ChangeDate : null,
                Deleted = t.Deleted != null ? t.Deleted : null,
            }).AsQueryable <LegalEntityOwnerAuditView>();


            List <LegalEntityOwnerAuditView> legalEntityOwners = legalEntityOwnersLE.Union(legalEntityOwnersPE).OrderBy(c => c.ChangeDate).ToList();

            return(legalEntityOwners);
        }
コード例 #6
0
        public static List <List <LegalEntityOwnerAuditView> > GetLegalEntityOwnersAuditView(ObjectContext context, int legalEntityFK)
        {
            ILegalEntitiesRepository     legalEntitiesRepository     = new LegalEntitiesRepository(context);
            IPhysicalEntitiesRepository  physicalEntitiesRepository  = new PhysicalEntitiesRepository(context);
            ILegalEntityOwnersRepository legalEntityOwnersRepository = new LegalEntityOwnersRepository(context);

            // get all legalEntity branches
            List <LegalEntityOwnerView> legalEntityOwners = LegalEntityOwnerView.GetLegalEntityOwnerView(legalEntityOwnersRepository.GetAll(), physicalEntitiesRepository.GetValid(), legalEntitiesRepository.GetValid())
                                                            .Where(c => c.LegalEntityFK == legalEntityFK)
                                                            .ToList();

            List <List <LegalEntityOwnerAuditView> > legalEntityOwnersListList = new List <List <LegalEntityOwnerAuditView> >();

            foreach (LegalEntityOwnerView legalEntityOwner in legalEntityOwners)
            {
                legalEntityOwnersListList.Add(LegalEntityOwnerAuditView.GetLegalEntityOwnerAuditView(context, legalEntityOwner.LegalEntityOwnerPK));
            }

            return(legalEntityOwnersListList);
        }
コード例 #7
0
        public FileContentResult ShowLegalEntityOwnersGraph(int?legalEntityFK, string color, int?dpi)
        {
            ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db);

            ILegalEntityOwnersRepository legalEntityOwnersRepository = new LegalEntityOwnersRepository(db);
            IPhysicalEntitiesRepository  physicalEntitiesRepository  = new PhysicalEntitiesRepository(db);

            List <LegalEntityOwner>       filteredCoList         = new List <LegalEntityOwner>();
            IQueryable <LegalEntityOwner> legalEntityOwnersTable = legalEntityOwnersRepository.GetValid();

            if (legalEntityFK != null)
            {
                List <LegalEntityOwner> coList = new List <LegalEntityOwner>();
                coList = legalEntityOwnersRepository.GetFirstLegalEntityOwnersForLegalEntity((int)legalEntityFK).ToList();

                foreach (var co in coList)
                {
                    LegalEntityOwnerView.Fill(filteredCoList, legalEntityOwnersTable.ToList(), co);
                }

                legalEntityOwnersTable = filteredCoList.AsQueryable();
            }

            IQueryable <LegalEntityOwnerView> legalEntityOwners = LegalEntityOwnerView.GetLegalEntityOwnerView(legalEntityOwnersTable,
                                                                                                               physicalEntitiesRepository.GetValid(),
                                                                                                               legalEntitiesRepository.GetValid());

            List <string> graphElements = new List <string>();

            foreach (LegalEntityOwnerView item in legalEntityOwners)
            {
                graphElements.Add(item.OwnerFK.ToString() + "[label=\"" + item.OwnerName + "\", shape=ci, fontsize=12, fontname=arial, labelloc=t, style=filled, fillcolor=\"white\", width=1.5]");

                if (legalEntityFK == item.LegalEntityFK)
                {
                    graphElements.Add(item.LegalEntityFK.ToString() + "[label=\"" + item.LegalEntityName + "\", shape=box, fontsize=12, fontname=arial, labelloc=t, style=filled, fontcolor=\"white\", color=\"black\", width=1.5]");
                }
                else
                {
                    graphElements.Add(item.LegalEntityFK.ToString() + "[label=\"" + item.LegalEntityName + "\", shape=box, fontsize=12, fontname=arial, labelloc=t, style=filled, fillcolor=\"white\", width=1.5]");
                }

                graphElements.Add(item.OwnerFK.ToString() + "->" + item.LegalEntityFK.ToString());
            }

            string graph = @"digraph Graphviz {";

            graph += "[bgcolor=\"" + color + "\", dpi=\"" + dpi + "\"],";
            graph += string.Join(", ", graphElements.ToArray());
            graph += "}";

            graph = graph.ConvertNonASCIICharacters();

            byte[] imageByte   = imageByte = Graphviz.RenderImage(graph, "dot", "png");;
            string contentType = "image/png";

            return(File(imageByte, contentType));
        }
コード例 #8
0
        public ActionResult Index()
        {
            ILegalEntityOwnersRepository legalEntityOwnersRepository = new LegalEntityOwnersRepository(db);
            ILegalEntitiesRepository     legalEntitiesRepository     = new LegalEntitiesRepository(db);
            IPhysicalEntitiesRepository  physicalEntitiesRepository  = new PhysicalEntitiesRepository(db);

            int    page       = !String.IsNullOrWhiteSpace(Request.QueryString["page"]) ? Convert.ToInt32(Request.QueryString["page"]) : 1;
            int    pageSize   = !String.IsNullOrWhiteSpace(Request.QueryString["pageSize"]) ? Convert.ToInt32(Request.QueryString["pageSize"]) : Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["ResultsPerPage"]);
            string sortOrder  = !String.IsNullOrWhiteSpace(Request.QueryString["sortOrder"]) ? Request.QueryString["sortOrder"] : "DESC";
            string sortColumn = !String.IsNullOrWhiteSpace(Request.QueryString["sortColumn"]) ? Request.QueryString["sortColumn"] : "LegalEntityOwnerPK";
            string ordering   = sortColumn + " " + sortOrder;

            ordering = ordering.Trim();

            List <LegalEntityOwner>       filteredCoList         = new List <LegalEntityOwner>();
            IQueryable <LegalEntityOwner> legalEntityOwnersTable = legalEntityOwnersRepository.GetValid();

            //if (!String.IsNullOrWhiteSpace(Request.QueryString["legalEntityFK"]))
            //{
            //    List<LegalEntityOwner> coList = new List<LegalEntityOwner>();
            //    coList = legalEntityOwnersRepository.GetFirstLegalEntityOwnersForLegalEntity(Convert.ToInt32(Request.QueryString["legalEntityFK"])).ToList();

            //    foreach (var co in coList)
            //    {
            //        LegalEntityOwnerView.Fill(filteredCoList, legalEntityOwnersTable.ToList(), co);
            //    }

            //    legalEntityOwnersTable = filteredCoList.AsQueryable();
            //}

            IQueryable <LegalEntityOwnerView> legalEntityOwners = LegalEntityOwnerView.GetLegalEntityOwnerView(legalEntityOwnersTable,
                                                                                                               physicalEntitiesRepository.GetValid(),
                                                                                                               legalEntitiesRepository.GetValid())
                                                                  .OrderBy(ordering);

            //LegalEntities ddl
            ViewBag.LegalEntities = new SelectList(legalEntitiesRepository.GetValid().OrderBy("Name ASC").ToList(), "LegalEntityPK", "Name", Request.QueryString["legalEntityFK"]);

            if (!String.IsNullOrWhiteSpace(Request.QueryString["legalEntityFK"]))
            {
                int legalEntityFK = Convert.ToInt32(Request.QueryString["legalEntityFK"]);
                legalEntityOwners = legalEntityOwners.Where(c => c.LegalEntityFK == legalEntityFK);
            }

            if (!String.IsNullOrWhiteSpace(Request.QueryString["searchString"]))
            {
                string searchString = Request.QueryString["searchString"].ToString();
                legalEntityOwners = legalEntityOwners.Where(c => c.OwnerName.Contains(searchString));
            }

            if (!String.IsNullOrWhiteSpace(Request.QueryString["searchString"]))
            {
                string searchString = Request.QueryString["searchString"].ToString();
                ViewData["numberOfRecords"] = legalEntityOwners.Where(c => c.OwnerName.Contains(searchString)).Count();
            }
            else
            {
                ViewData["numberOfRecords"] = legalEntityOwners.Count();
            }

            legalEntityOwners = legalEntityOwners.Page(page, pageSize);

            int numberOfPages = ((int)ViewData["numberOfRecords"] + pageSize - 1) / pageSize;

            if (page > numberOfPages)
            {
                string url = LinkHelper.getQueryStringArray(new string[] { "page" });
                return(Redirect("LegalEntityOwner?" + url + "page=" + numberOfPages));
            }
            else
            {
                return(View("Index", legalEntityOwners.ToList()));
            }
        }
コード例 #9
0
        public ActionResult Index()
        {
            ILegalEntitiesRepository       legalEntitiesRepository       = new LegalEntitiesRepository(db);
            IContractsRepository           contractsRepository           = new ContractsRepository(db);
            ILegalEntityBranchesRepository legalEntityBranchesRepository = new LegalEntityBranchesRepository(db);
            IBanksRepository            banksRepository = new BanksRepository(db);
            ILegalEntityBanksRepository legalEntitiesBanksRepository = new LegalEntityBanksRepository(db);
            ILegalEntityLegalRepresentativesRepository legalEntityLegalRepresentativesRepository = new LegalEntityLegalRepresentativesRepository(db);
            ILegalEntityOwnersRepository legalEntityOwnersRepository = new LegalEntityOwnersRepository(db);
            IAssessmentsRepository       assessmentsRepository       = new AssessmentsRepository(db);

            int    page       = !String.IsNullOrWhiteSpace(Request.QueryString["page"]) ? Convert.ToInt32(Request.QueryString["page"]) : 1;
            int    pageSize   = !String.IsNullOrWhiteSpace(Request.QueryString["pageSize"]) ? Convert.ToInt32(Request.QueryString["pageSize"]) : Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["ResultsPerPage"]);
            string sortOrder  = !String.IsNullOrWhiteSpace(Request.QueryString["sortOrder"]) ? Request.QueryString["sortOrder"] : "DESC";
            string sortColumn = !String.IsNullOrWhiteSpace(Request.QueryString["sortColumn"]) ? Request.QueryString["sortColumn"] : "LegalEntityPK";
            string ordering   = sortColumn + " " + sortOrder;

            ordering = ordering.Trim();

            IQueryable <LegalEntityView> legalEntities = LegalEntityView.GetLegalEntityView(legalEntitiesRepository.GetValid(),
                                                                                            legalEntityBranchesRepository.GetValid(),
                                                                                            contractsRepository.GetValid(),
                                                                                            banksRepository.GetValid(),
                                                                                            legalEntitiesBanksRepository.GetValid(),
                                                                                            legalEntityLegalRepresentativesRepository.GetValid(),
                                                                                            legalEntityOwnersRepository.GetValid(),
                                                                                            assessmentsRepository.GetValid())
                                                         .OrderBy(ordering);

            if (!String.IsNullOrWhiteSpace(Request.QueryString["searchString"]))
            {
                string searchString = Request.QueryString["searchString"];
                legalEntities = legalEntities.Where(c => c.Name.Contains(searchString));
            }

            if (!String.IsNullOrWhiteSpace(Request.QueryString["company"]) && Request.QueryString["company"].Contains("true"))
            {
                legalEntities = legalEntities.Where(c => c.Company == true);
            }

            if (String.IsNullOrWhiteSpace(Request.QueryString["active"]))
            {
                legalEntities = legalEntities.Where(c => c.Active == true);
            }
            else
            {
                var active = Request.QueryString["active"].Contains("true");
                legalEntities = legalEntities.Where(c => c.Active == active);
            }

            ViewData["numberOfRecords"] = legalEntities.Count();

            legalEntities = legalEntities.Page(page, pageSize);

            int numberOfPages = ((int)ViewData["numberOfRecords"] + pageSize - 1) / pageSize;

            if (page > numberOfPages)
            {
                string url = LinkHelper.getQueryStringArray(new string[] { "page" });
                return(Redirect("LegalEntity?" + url + "page=" + numberOfPages));
            }
            else
            {
                return(View("Index", legalEntities.ToList()));
            }
        }
コード例 #10
0
        public static IQueryable <LegalEntityView> GetLegalEntitiesReport(ObjectContext db, string Name, string OIB, string MB, string MBS, int?BankPK, int?TaxPK, int?FormPK, int?ActivityPK, int?SubstationPK, int?CommercialCourtPK, int?numberOfEmployeesFrom, int?numberOfEmployeesTo, int?fundamentalCapitalFrom, int?fundamentalCapitalTo, bool?TouristOffice, bool?MonumentAnnuity)
        {
            ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db);
            IQueryable <LegalEntity> legalEntityTable        = legalEntitiesRepository.GetValidLegalEntities();

            IBanksRepository            banksRepository = new BanksRepository(db);
            ILegalEntityBanksRepository legalEntitiesBanksRepository = new LegalEntityBanksRepository(db);

            var banksTable = banksRepository.GetValid();
            var legalEntitiesBanksTable = legalEntitiesBanksRepository.GetValid();

            IQueryable <LegalEntity> legalEntitiesFiltered = legalEntitiesRepository.GetValid();

            if (legalEntitiesFiltered.Count() > 0)
            {
                if (!string.IsNullOrWhiteSpace(Name))
                {
                    legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByName(Name);
                }
                if (!string.IsNullOrWhiteSpace(OIB))
                {
                    legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByOIB(OIB);
                }
                if (!string.IsNullOrWhiteSpace(MB))
                {
                    legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByMB(MB);
                }
                if (!string.IsNullOrWhiteSpace(MBS))
                {
                    legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByMBS(MBS);
                }

                if (numberOfEmployeesFrom != null || numberOfEmployeesTo != null)
                {
                    legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByEmployeesRange(numberOfEmployeesFrom, numberOfEmployeesTo);
                }
                if (fundamentalCapitalFrom != null || fundamentalCapitalTo != null)
                {
                    legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByFundamentalCapitalRange(fundamentalCapitalFrom, fundamentalCapitalTo);
                }

                if (BankPK != null)
                {
                    legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByBank(db, BankPK);
                }
                if (TaxPK != null)
                {
                    legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByTax(TaxPK);
                }

                if (SubstationPK != null)
                {
                    legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesBySubstation(SubstationPK);
                }
                if (CommercialCourtPK != null)
                {
                    legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByCommercialCourt(CommercialCourtPK);
                }

                if (FormPK != null)
                {
                    legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByForm(FormPK);
                }
                if (ActivityPK != null)
                {
                    legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByActivity(ActivityPK);
                }

                if (TouristOffice != null)
                {
                    legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByTouristOffice(TouristOffice);
                }
                if (MonumentAnnuity != null)
                {
                    legalEntitiesFiltered = legalEntitiesFiltered.GetLegalEntitiesByMonumentAnnuity(MonumentAnnuity);
                }
            }

            IQueryable <LegalEntityView> legalEntityViewList = (from t1 in legalEntitiesFiltered
                                                                from t2 in legalEntitiesBanksTable.Where(b => b.LegalEntityFK == t1.LegalEntityPK).DefaultIfEmpty()
                                                                from t3 in banksTable.Where(b => b.BankPK == t2.BankFK).DefaultIfEmpty()
                                                                select new LegalEntityView
            {
                LegalEntityPK = t1.LegalEntityPK,

                Name = t1.Name,
                ShortName = t1.ShortName != null ? t1.ShortName : "",
                OIB = t1.OIB != null ? t1.OIB : "",
                MB = t1.MB != null ? t1.MB : "",
                MBS = t1.MBS != null ? t1.MBS : "",
                FormName = t1.Form.Name != null ? t1.Form.Name : ""
            }).Distinct().AsQueryable <LegalEntityView>();

            return(legalEntityViewList);
        }
コード例 #11
0
        public ActionResult Edit(AssessmentsView assessmentView, FormCollection form)
        {
            if (ModelState.IsValid)
            {
                IAssessmentsRepository assessmentsRepository = new AssessmentsRepository(db);
                Assessment             assessment            = assessmentsRepository.GetAssessmentByPK((int)assessmentView.AssessmentPK);

                IAssessmentAnswersRepository assessmentAnswersRepository = new AssessmentAnswersRepository(db);

                // Delete old values
                assessmentAnswersRepository.Delete(a => a.AssessmentFK == assessment.AssessmentPK);

                // Add new values
                IAssessmentGroupsRepository    assessmentGroupsRepository    = new AssessmentGroupsRepository(db);
                IAssessmentQuestionsRepository assessmentQuestionsRepository = new AssessmentQuestionsRepository(db);
                IAssessmentTypesRepository     assessmentTypesRepository     = new AssessmentTypesRepository(db);

                assessmentView.AssessmentsTypesView = AssessmentsView.FillQuiz(assessmentTypesRepository.GetValid(), assessmentGroupsRepository, assessmentQuestionsRepository, form);

                // Fetching answered type
                AssessmentsTypeView atw = assessmentView.AssessmentsTypesView.Where(a => a.AssessmentType.AssessmentTypePK == assessmentView.AssessmentTypeFK).First();

                List <AssessmentAnswers> assessmentAnswers = AssessmentAnswerView.ExtractQuizAnswers(atw, assessment.AssessmentPK);

                ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db);
                LegalEntity legalEntity             = legalEntitiesRepository.GetLegalEntityByPK((int)assessmentView.LegalEntityFK);
                bool        activityHighRisky       = legalEntity.Activity.HighRisk != null && (bool)legalEntity.Activity.HighRisk ? true : false;
                bool        activityLowRisky        = legalEntity.Activity.LowRisk != null && (bool)legalEntity.Activity.LowRisk ? true : false;
                bool        headquarterCountryRisky = legalEntity.Country.Risk != null && (bool)legalEntity.Country.Risk ? true : false;

                IRisksRepository risksRepository = new RisksRepository(db);
                if (activityHighRisky || headquarterCountryRisky) // check explicitly if related legalEntity activity is high risk
                {
                    assessmentView.RiskFK = risksRepository.GetRiskByName("Visok").RiskPK;
                }
                else if (activityLowRisky) // check explicitly if related legalEntity activity is low risk
                {
                    assessmentView.RiskFK = risksRepository.GetRiskByName("Nizak").RiskPK;
                }
                else // run assesment quiz
                {
                    ILegalEntityOwnersRepository  legalEntityOwnersRepository = new LegalEntityOwnersRepository(db);
                    IQueryable <LegalEntityOwner> legalEntityOwnersTable      = legalEntityOwnersRepository.GetValid();
                    ICountriesRepository          countriesRepository         = new CountriesRepository(db);

                    IActivitiesRepository activitiesRepository = new ActivitiesRepository(db);

                    List <LegalEntityOwner> coList = legalEntityOwnersRepository.GetFirstLegalEntityOwnersForLegalEntity((int)assessmentView.LegalEntityFK).ToList();

                    legalEntityOwnersTable = LegalEntityOwnerView.GetLegalEntityOwnersForLegalEntity(Convert.ToInt32(assessmentView.LegalEntityFK), coList, legalEntityOwnersTable);

                    IQueryable <LegalEntity> legalEntityView = LegalEntityOwnerView.GetRelatedLegalEntities(legalEntityOwnersTable, legalEntitiesRepository.GetValid(), countriesRepository.GetValid(), activitiesRepository.GetValid());

                    // check owners risks
                    bool ownersResidenceCountryRisky = false;
                    bool ownersActivitiesHighlyRisky = false;
                    bool ownersActivitiesLowRisky    = false;

                    if (legalEntityView.Count() > 0)
                    {
                        if (legalEntityView.ToList().TrueForAll(le => le.Country.Risk == null || (le.Country.Risk != null && (bool)le.Country.Risk != true)) == false)
                        {
                            ownersResidenceCountryRisky = true;
                        }

                        if (legalEntityView.ToList().TrueForAll(le => le.Activity == null || (le.Activity.HighRisk == null || (le.Activity.HighRisk != null && (bool)le.Activity.HighRisk != true))) == false)
                        {
                            ownersActivitiesHighlyRisky = true;
                        }

                        if (legalEntityView.ToList().TrueForAll(le => le.Activity == null || (le.Activity.LowRisk == null || (le.Activity.LowRisk != null && (bool)le.Activity.LowRisk != true))) == false)
                        {
                            ownersActivitiesLowRisky = true;
                        }
                    }

                    // check form
                    bool allAnswersYes = false;
                    bool allAnswersNo  = false;
                    bool mixedAnswers  = false;

                    if (assessmentAnswers.TrueForAll(aa => aa.AssessmentAnswer != null && (bool)aa.AssessmentAnswer == true))
                    {
                        allAnswersYes = true;
                    }

                    if (assessmentAnswers.TrueForAll(aa => aa.AssessmentAnswer != null && (bool)aa.AssessmentAnswer == false))
                    {
                        allAnswersNo = true;
                    }

                    if (allAnswersYes == false && allAnswersNo == false)
                    {
                        mixedAnswers = true;
                    }

                    // check general conditions
                    if (ownersActivitiesLowRisky)
                    {
                        assessmentView.RiskFK = risksRepository.GetRiskByName("Nizak").RiskPK;
                    }
                    else if (allAnswersYes || ownersResidenceCountryRisky || ownersActivitiesHighlyRisky)
                    {
                        assessmentView.RiskFK = risksRepository.GetRiskByName("Visok").RiskPK;
                    }
                    else if (allAnswersNo || mixedAnswers)
                    {
                        assessmentView.RiskFK = risksRepository.GetRiskByName("Srednji").RiskPK;
                    }
                }

                if (assessmentAnswers.Count() > 0)
                {
                    assessmentAnswersRepository.AddAll(assessmentAnswers);
                    assessmentAnswersRepository.SaveChanges();
                }

                assessmentView.ConvertTo(assessmentView, assessment);
                assessmentsRepository.SaveChanges();

                TempData["message"] = LayoutHelper.GetMessage("UPDATE", assessment.AssessmentPK);

                return(RedirectToAction("Index", "Assessment"));
            }
            else
            {
                IAssessmentGroupsRepository    assessmentGroupsRepository    = new AssessmentGroupsRepository(db);
                IAssessmentQuestionsRepository assessmentQuestionsRepository = new AssessmentQuestionsRepository(db);

                //Assessment types ddl
                IAssessmentTypesRepository assessmentTypesRepository = new AssessmentTypesRepository(db);
                assessmentView.AssessmentTypes = new SelectList(assessmentTypesRepository.GetValid().OrderBy("Name ASC").ToList(), "AssessmentTypePK", "Name");

                //legalEntities ddl
                ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db);
                assessmentView.LegalEntities = new SelectList(legalEntitiesRepository.GetValidLegalEntities().ToList(), "LegalEntityPK", "Name");

                assessmentView.AssessmentsTypesView = AssessmentsView.FillQuiz(assessmentTypesRepository.GetValid(), assessmentGroupsRepository, assessmentQuestionsRepository, form);

                return(View(assessmentView));
            }
        }