Esempio n. 1
0
        public ActionResult Details(int id)
        {
            ProviderVm providervm = _providerSvc.GetProviderVm(id);


            return(PartialView("Details", providervm));
        }
        //public List<ProviderModel> GetProvidersBySchemaId(int consumerAppId, int schemaId)
        public SchemaProviderVm GetProvidersBySchemaId(int consumerAppId, int schemaId)
        {
            //var providers = new List<ProviderModel>();
            var providers = new List <ProviderVm>();

            var schema = _schemaService.FirstOrDefault(p => p.ID == schemaId);

            var endpoints = _endpointService.Where(p => p.DataSchemaID == schemaId);

            foreach (var end in endpoints)
            {
                var application     = _application.FirstOrDefault(p => p.ID == end.ApplicationId);
                var providerLicense = _licenseService.FirstOrDefault(p => p.DataSchemaID == schemaId &&
                                                                     p.ProviderEndpointID == end.ID &&
                                                                     p.ApplicationID == end.ApplicationId &&
                                                                     p.Status == (int)PublishStatus.Published);

                if (providerLicense == null)
                {
                    continue;
                }

                var licenseClauses = new List <LicenseClauseVm>();

                var orgClauses = _orgLicenseClauses.Where(p => p.OrganizationLicenseID == providerLicense.ID);
                foreach (var orgClause in orgClauses)
                {
                    // get title.
                    var licClause  = _licenseClauses.GetById(orgClause.LicenseClauseID);
                    var licSection = _licenseSections.GetById(licClause.LicenseSectionID);

                    var licClauseTemplate = _licenseClauseTemplates.FirstOrDefault(p => p.LicenseClauseID == orgClause.LicenseClauseID);


                    var licenseClause = new LicenseClauseVm()
                    {
                        Title     = licSection.Title,
                        OrgText   = orgClause.ClauseData.Replace("{", string.Empty).Replace("}", string.Empty).Replace("each", "per"),
                        ShortText = licClauseTemplate.ShortText,
                        LegalText = licClauseTemplate.LegalText
                    };
                    licenseClauses.Add(licenseClause);
                }

                // Chech whether the consumer application has already subscribed to the provider.
                var status       = ConsumerProviderRegistrationStatus.NotRegistered;
                var remarks      = "";
                var registration = _consumerProviderRegistration.FirstOrDefault(p => p.OrganizationLicenseID == providerLicense.ID && p.ConsumerApplicationID == consumerAppId);
                if (registration != null)
                {
                    status  = (ConsumerProviderRegistrationStatus)registration.Status;
                    remarks = registration.Remarks;
                }


                //var provider = new ProviderModel()
                //{
                //    SchemaId = schema.ID,
                //    SchemaName = schema.Name,
                //    ApplicationId = application.ID,
                //    ApplicationName = application.Name,
                //    LicenseId = providerLicense.ID,
                //    Status = status
                //};
                //providers.Add(provider);

                var provider = new ProviderVm()
                {
                    ApplicationId   = application.ID,
                    ApplicationName = application.Name,
                    LicenseId       = providerLicense.ID,
                    Status          = status,
                    Remarks         = remarks,
                    LicenseClauses  = licenseClauses
                };
                providers.Add(provider);
            }

            var schemaProviders = new SchemaProviderVm
            {
                SchemaId   = schema.ID,
                SchemaName = schema.Name,
                Providers  = providers,
            };

            //return providers;
            return(schemaProviders);
        }
Esempio n. 3
0
        public ProviderVm GetProviderVm(int id)
        {
            Provider item = GetProvider(id);

            if (item != null)
            {
                string[] split = item.Providerservices != null?item.Providerservices.Split(',') : new string[]
                {
                    string.Empty
                };
                string[] split2 = item.Providerplans != null?item.Providerplans.Split(',') : new string[]
                {
                    string.Empty
                };
                string[] split3 = item.ProviderTariffs != null?item.ProviderTariffs.Split(',') : new string[]
                {
                    string.Empty
                };
                string[] split4 = item.CompanyConsession != null?item.CompanyConsession.Split(',') : new string[]
                {
                    string.Empty
                };
                List <string> planlist        = new List <string>();
                List <string> servicelist     = new List <string>();
                List <string> tarifflist      = new List <string>();
                List <string> consessionslist = new List <string>();
                if (split.Any())
                {
                    foreach (string serv in split)
                    {
                        if (!string.IsNullOrEmpty(serv))
                        {
                            servicelist.Add(_servicevc.GetService(Convert.ToInt32(serv)).Name + ",");
                        }
                    }
                }



                if (split2.Any())
                {
                    foreach (string plan in split2)
                    {
                        if (!string.IsNullOrEmpty(plan))
                        {
                            planlist.Add(_plansvc.GetPlan(Convert.ToInt32(plan)).Name + ",");
                        }
                    }
                    // planlist = split2.Select(plan => _plansvc.GetPlan(Convert.ToInt32(plan)).Name + ",").ToList();
                }
                if (split3.Any())
                {
                    Tariff tempitem = null;

                    try
                    {
                        tarifflist = split3.Select(tariff => (tempitem = _tariffService.GetTariff(Convert.ToInt32(tariff))) != null ? tempitem.Name + "," : string.Empty).ToList();
                    }
                    catch (Exception)
                    {
                        //throw;
                    }
                }

                if (split4.Any())
                {
                    Company tempitem = null;

                    try
                    {
                        consessionslist = split4.Select(concess => (tempitem = _companyService.GetCompany(Convert.ToInt32(concess))) != null ? tempitem.Name + "," : string.Empty).ToList();
                    }
                    catch (Exception)
                    {
                        //throw;
                    }
                }
                if (servicelist.Any())
                {
                    string last = servicelist.Last();
                    servicelist.Remove(last);
                    try
                    {
                        servicelist.Add(last.Substring(0, last.Length - 1));
                    }
                    catch (Exception)
                    {
                    }
                }

                if (planlist.Any())
                {
                    string plast = planlist.Last();



                    planlist.Remove(plast);
                    try
                    {
                        planlist.Add(plast.Substring(0, plast.Length - 1));
                    }
                    catch (Exception)
                    {
                    }
                }



                try
                {
                    string tlast = tarifflist.Last();
                    tarifflist.Remove(tlast);
                    tarifflist.Add(tlast.Substring(0, tlast.Length - 1));
                }
                catch (Exception)
                {
                }

                try
                {
                    string tlast = consessionslist.Last();
                    consessionslist.Remove(tlast);
                    consessionslist.Add(tlast.Substring(0, tlast.Length - 1));
                }
                catch (Exception)
                {
                }

                MrCMS.Entities.People.User test   = _userService.GetAllUsers().SingleOrDefault(x => x.Guid.ToString().ToLower() == item.CreatedBy.ToLower());
                MrCMS.Entities.People.User authby = item.AuthorizedBy > 0 ? _userService.GetUser(item.AuthorizedBy) : null;
                if (true)
                {
                    ProviderVm model = new ProviderVm()
                    {
                        Id                  = item.Id,
                        Name                = item.Name.ToUpper(),
                        Code                = item.Code,
                        SubCode             = item.SubCode,
                        Phone               = item.Phone,
                        Phone2              = item.Phone2,
                        Email               = item.Email,
                        Website             = item.Website,
                        Address             = item.Address,
                        Provideraccount     = item.Provideraccount,
                        Provideraccount2    = item.Provideraccount2,
                        Area                = item.Area,
                        Assignee            = item.Assignee,
                        AssigneeName        = _userService.GetUser(item.Assignee).Name,
                        State               = item.State,
                        Lganame             = item.Lga.Name,
                        Lgaid               = item.Lga.Id,
                        AuthorizationStatus = item.AuthorizationStatus,
                        AuthorizationNote   = item.AuthorizationNote,
                        AuthorizedBy        = item.AuthorizedBy,
                        Status              = item.Status,
                        Providerplans       = planlist,
                        Providerservices    = servicelist,
                        ProviderTariffs     = tarifflist,
                        consessionslist     = consessionslist,
                        consessions         = item.CompanyConsession,
                        CreatedBy           =
                            item.CreatedBy != null && test != null
                                    ? test.
                            Name
                                    : "--",
                        Zone                   = _helpersvc.GetzonebyId(Convert.ToInt32(item.State.Zone)).Name,
                        BankName               = _helpersvc.Getbank(item.Provideraccount.BankId).Name,
                        BankName2              = item.Provideraccount2 != null?_helpersvc.Getbank(item.Provideraccount2.BankId).Name : "--",
                        CreatedDate            = item.CreatedOn.ToString("dd MMM yyyy"),
                        ProviderplansStr       = item.Providerplans,
                        ProviderservicesStr    = item.Providerservices,
                        ProvidertariffsStr     = item.ProviderTariffs,
                        AuthorizedDate         = item.AuthorizedDate,
                        category               = item.Category,
                        isdelisted             = item.isDelisted,
                        DelistNote             = item.DelistNote,
                        delistedBy             = item.delistedBy,
                        AuthorizedByString     = item.AuthorizedBy > 0 && authby != null ? authby.Name : "--",
                        AuthorizationStatusStr = Enum.GetName(typeof(AuthorizationStatus), item.AuthorizationStatus)
                    };

                    return(model);
                }
            }


            return(null);
        }