Пример #1
0
 public PotentialClientsController(IPotentialClientService potentialClientService,
                                   IUserService userService,
                                   IStatusService statusService,
                                   IProjectService projectService,
                                   ISourceService sourceService)
 {
     _potentialClientService = potentialClientService;
     _userService            = userService;
     _statusService          = statusService;
     _projectService         = projectService;
     _sourceService          = sourceService;
 }
        public static async Task Initialize(PotentialClientsContext context, IPotentialClientService potentialClientService)
        {
            //TODO: Use migrations
            context.Database.EnsureCreated();

            if (context.PotentialClients.Any())
            {
                return;
            }

            var    assembly = typeof(DatabaseInitializer).GetTypeInfo().Assembly;
            Stream stream   = assembly.GetManifestResourceStream("PotentialClients.EFCore.people.json");

            using (StreamReader sr = new StreamReader(stream))
            {
                using (JsonReader reader = new JsonTextReader(sr))
                {
                    JsonSerializer serializer = new JsonSerializer();

                    JArray jarray = serializer.Deserialize(reader) as JArray;

                    var potentialClients = jarray.Select(x => new PotentialClientDto
                    {
                        PersonId                = (long)x["PersonId"],
                        FirstName               = (string)x["FirstName"],
                        LastName                = (string)x["LastName"],
                        CurrentRole             = (string)x["CurrentRole"],
                        Country                 = (string)x["Country"],
                        Industry                = (string)x["Industry"],
                        NumberOfRecommendations = (int?)x["NumberOfRecommendations"],
                        NumberOfConnections     = (int?)x["NumberOfConnections"]
                    });

                    await potentialClientService.ImportPotentialClients(potentialClients);
                }
            }

            context.Database.ExecuteSqlRaw(
                @"
            IF OBJECT_ID('dbo.View_PotentialClientPositions', 'V') IS NOT NULL
                DROP VIEW dbo.View_PotentialClientPositions
            ");

            context.Database.ExecuteSqlRaw(
                @"
            CREATE VIEW View_PotentialClientPositions AS 
                SELECT P.PersonId, ROW_NUMBER() OVER   
	                (ORDER BY P.Score DESC) AS Postion  
                FROM [dbo].[PotentialClients] AS P");
        }
 public PotentialClientsController(IPotentialClientRepository potentialClientRepository, IPotentialClientService potentialClientService)
 {
     this._potentialClientRepository = potentialClientRepository;
     this._potentialClientService    = potentialClientService;
 }