Beispiel #1
0
 public void RegisterClient(Socket ClientSocket)
 {
     Client newClient = new Client(ClientSocket);
     lock (Clients)
     {
         Clients.Add(((IPEndPoint)ClientSocket.RemoteEndPoint).Address, newClient);
     }
     Data.DataContext ds = new Data.DataContext(OpCodeProcess.C_Registration) { SOK = ClientSocket };
     newClient.AddProcess(ds);
 }
        public ActionResult SalePriceChart()
        {
            Data.DataContext Mealcontext2 = new Data.DataContext();
            ArrayList        xValue       = new ArrayList();
            ArrayList        yValue       = new ArrayList();

            var profits = (from p in Mealcontext2.Items select p);

            profits.ToList().ForEach(pr => xValue.Add(pr.Name));
            profits.ToList().ForEach(pr => yValue.Add(pr.Price));

            new Chart(width: 700, height: 450, theme: ChartTheme.Blue)
            .AddTitle("Sale Price Per Meal")
            .AddSeries("Default", chartType: "Column", xValue: xValue, yValues: yValue)
            .SetXAxis(title: "Meal Name")
            .SetYAxis(title: "Sale Price in Rands")
            .Write("jpeg");

            return(null);
        }
Beispiel #3
0
        /// <summary>
        /// Encode the password.
        /// </summary>
        /// <param name="user">The user data.</param>
        /// <param name="encode">Encode the user.</param>
        private void EncodePassword(Data.User user, bool encode = true)
        {
            Nequeo.Cryptography.IPasswordEncryption encoder = PasswordAuthorisationCode.GetEncoder();

            // Get the current user.
            Data.User current = new Data.DataContext().Users.First(u => u.UserID == user.UserID);
            string    currentPasswordEncoded = current.LoginPassword;
            string    passwordEncoded        = encoder.Encode(user.LoginPassword, encoder.PasswordFormat);

            // If password is different.
            if (user.LoginPassword != currentPasswordEncoded)
            {
                // If the passwords do not match.
                if (currentPasswordEncoded != passwordEncoded)
                {
                    // Encode password.
                    user.LoginPassword = passwordEncoded;
                }
            }
        }
Beispiel #4
0
        public void RequestDataMartStatusChange()
        {
            using (var db = new Data.DataContext())
            {
                var eventLogger = new Data.RequestDataMartLogConfiguration();

                var routingStatusChangeLogItem = db.LogsRoutingStatusChange.OrderByDescending(l => l.TimeStamp).First();

                var notifications = eventLogger.CreateNotifications(routingStatusChangeLogItem, db, true);

                foreach (var note in notifications)
                {
                    StringBuilder sb = new StringBuilder();
                    sb.AppendLine("Subject: " + note.Subject);
                    sb.AppendLine("Recipients: " + string.Join(", ", note.Recipients.Select(r => r.Email)));
                    sb.AppendLine("Content:");
                    sb.AppendLine(note.Body);

                    Logger.Debug(sb.ToString());
                }
            }
        }
        /// <summary>
        /// Reads bytes for a specific document from the database.
        /// </summary>
        /// <param name="dataContext">The DataContext for the database.</param>
        /// <param name="documentID">The ID of the document to read the content for.</param>
        /// <param name="offset">The starting offset to read the content bytes from.</param>
        /// <param name="length">The length of content bytes to read.</param>
        /// <returns>A byte array containing the document content for the specified byte range.</returns>
        public async Task <byte[]> ReadChunk(Data.DataContext dataContext, Guid documentID, int offset, int length)
        {
            string filename = Path.Combine(_uploadPath, documentID.ToString("D") + ".part");

            if (!File.Exists(filename))
            {
                lock (_lock)
                {
                    if (!File.Exists(filename))
                    {
                        string tempFileName = Path.Combine(_uploadPath, "temp_" + documentID.ToString("D") + ".part");
                        using (var fs = new FileStream(tempFileName, FileMode.Append, FileAccess.Write, FileShare.ReadWrite))
                            using (var dbStream = new Data.Documents.DocumentStream(dataContext, documentID))
                            {
                                dbStream.CopyTo(fs);
                                fs.Flush();
                                fs.Close();
                            }

                        File.Move(tempFileName, filename);
                    }
                }
            }


            byte[] buffer = new byte[length];
            using (var stream = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                if (offset != 0)
                {
                    stream.Seek(offset, SeekOrigin.Begin);
                }

                await stream.ReadAsync(buffer, 0, buffer.Length).ConfigureAwait(false);
            }

            return(buffer);
        }
Beispiel #6
0
        public void SendSMS(int recipientType, string recipient, int?carrier, string text)
        {
            text = text.Trim();
            if (text.Length < 2)
            {
                throw new Exception("Mensaje muy corto");
            }
            else
            {
                using (Data.DataContext DataContext = new Data.DataContext(System.Configuration.ConfigurationManager.ConnectionStrings["SMSServiceConnectionString"].ConnectionString))
                {
                    switch (recipientType)
                    {
                    case 2:     /* Usuario */
                        var user = (from r in DataContext.SSO_Users where r.id == int.Parse(recipient) && r.mobile != null && r.idCarrier != null select new { r.name, r.surname, r.mobile, r.idCarrier }).SingleOrDefault();
                        if (user != null)
                        {
                            recipient = user.mobile;
                            carrier   = user.idCarrier;
                        }
                        else
                        {
                            recipient = null;
                        }
                        break;

                    case 3:     /* Paciente */
                        throw new NotImplementedException();
                    }

                    if (!String.IsNullOrEmpty(recipient) && carrier.HasValue)
                    {
                        SSOHelper.SendSMS(recipient, carrier.Value, text);
                    }
                }
            }
        }
 public QueueService(Data.DataContext context, CustomRabbitMQ customRabbitMQ)
 {
     _context        = context;
     _customRabbitMQ = customRabbitMQ;
 }
Beispiel #8
0
 public EngineService(Data.DataContext context, IServiceProvider serviceProvider)
 {
     _context         = context;
     _serviceProvider = serviceProvider;
     return;
 }
Beispiel #9
0
        public static async Task UpdateNewDataMartTest()
        {
            string filepath = System.IO.Path.Combine(ResourceFolder, "DataSourcesUpdate.json");
            var    json     = System.IO.File.ReadAllText(filepath);

            Newtonsoft.Json.JsonSerializerSettings jsonSettings = new Newtonsoft.Json.JsonSerializerSettings();
            jsonSettings.DefaultValueHandling = Newtonsoft.Json.DefaultValueHandling.IgnoreAndPopulate;
            DataSourceList dataSources = Newtonsoft.Json.JsonConvert.DeserializeObject <DataSourceList>(json, jsonSettings);
            var            controller  = new DataSourcesController();

            foreach (var ds in dataSources.DataSources)
            {
                using (var db = new Data.DataContext())
                {
                    var dsID = DataSourcePair.Where(x => x.Key == ds.ID).Select(x => x.Value).FirstOrDefault();
                    ds.ID             = dsID;
                    ds.OrganizationID = Organizations.OrganizationTests.OrgPair.Where(x => x.Key == ds.OrganizationID).Select(x => x.Value).FirstOrDefault();
                    var metadatas    = db.DomainDatas.OfType <Data.DataSourceDomainData>().Where(x => x.DataSourceID == dsID).ToArray();
                    var newMetaDatas = new List <DomainDataDTO>();
                    foreach (var metadata in metadatas)
                    {
                        if (metadata.DomainUseID == new Guid("86560001-6947-4384-8CB1-A6560123B537") || metadata.DomainReferenceID == new Guid("6C9E0001-D50F-406D-A099-A6560124734C"))
                        {
                            var meta = new DomainDataDTO();
                            meta.Value          = metadata.Value + " Update Test";
                            meta.SequenceNumber = 0;
                            meta.ID             = metadata.ID;
                            meta.DomainUseID    = metadata.DomainUseID;
                            if (metadata.DomainReferenceID.HasValue)
                            {
                                meta.DomainReferenceID = metadata.DomainReferenceID.Value;
                            }
                            newMetaDatas.Add(meta);
                        }
                        else if (metadata.DomainReferenceID == new Guid("BB90ED02-2DF6-4219-A495-A62600C583AD"))
                        {
                            //Intensionally leaving this blank to not put into newMetaDatas List.
                        }
                        else
                        {
                            //This is filling in all the rest to remain untouched
                            var meta = new DomainDataDTO()
                            {
                                ID             = metadata.ID,
                                DomainUseID    = metadata.DomainUseID,
                                Value          = metadata.Value,
                                SequenceNumber = metadata.SequenceNumber
                            };
                            if (metadata.DomainReferenceID.HasValue)
                            {
                                meta.DomainReferenceID = metadata.DomainReferenceID;
                            }
                            newMetaDatas.Add(meta);
                        }
                    }
                    var addMeta = new DomainDataDTO()
                    {
                        DomainUseID       = Guid.Parse("B5D00001-6085-44DA-8162-A6560124D48D"),
                        DomainReferenceID = Guid.Parse("28D4092C-A14A-4C4D-B089-A62600C57733"),
                        Value             = "LPP Inpatient Encounter",
                        SequenceNumber    = 0
                    };
                    newMetaDatas.Add(addMeta);
                    ds.Metadata = newMetaDatas;



                    var response = await controller.Update(ds);

                    var dsGet = await db.DataSources.FindAsync(dsID);

                    var metaData = await db.DomainDatas.OfType <Data.DataSourceDomainData>().Where(x => x.DataSourceID == dsID).ToArrayAsync();

                    Assert.IsTrue(!dsGet.IsEmpty());
                    Assert.IsTrue(metaData.Count() > 0);
                }
            }
        }
Beispiel #10
0
 public TareasController(Data.DataContext context)
 {
     _context = context;
 }
 public WorkingManagementHub(Data.DataContext context, ITaskService taskService)
 {
     _context     = context;
     _taskService = taskService;
 }
Beispiel #12
0
 public DetallesController(Data.DataContext context)
 {
     _context = context;
 }
Beispiel #13
0
 public OrdersController(Data.DataContext context)
 {
     _context = context;
 }
Beispiel #14
0
 // Lambda constructor
 public ProductService(Data.DataContext dataContext, IHttpContextAccessor accessor) =>
 (this.dataContext, this.accessor) = (dataContext, accessor);
        public void TestMethod()
        {
            //var values = GetJson();
            using (var db = new Data.DataContext())
            {
                db.Database.Log = (s) => { Console.WriteLine(s); };

                //var tuple = (from v in values
                //             from ev in v.EventSubscriptions
                //             where v.SecurityGroupID.HasValue
                //             select new
                //             {
                //                 ev.EventID,
                //                 SecurityGroupID = v.SecurityGroupID.Value
                //             }).GroupBy(k => new { k.EventID, k.SecurityGroupID }).Select(k => new { k.Key.EventID, k.Key.SecurityGroupID });

                //a security group that will be used to have the explicit event denies
                Guid securityGroupID = new Guid("12C0443F-D8A5-43C0-988F-A62E010CD891");
                var  tuple           = new[] {
                    new { EventID = DTO.Events.EventIdentifiers.Request.NewRequestSubmitted.ID, SecurityGroupID = securityGroupID },
                    new { EventID = DTO.Events.EventIdentifiers.Request.RequestAssignmentChange.ID, SecurityGroupID = securityGroupID },
                    new { EventID = DTO.Events.EventIdentifiers.Request.RequestCommentChange.ID, SecurityGroupID = securityGroupID },
                    new { EventID = DTO.Events.EventIdentifiers.Document.Change.ID, SecurityGroupID = securityGroupID },
                    new { EventID = DTO.Events.EventIdentifiers.Request.RequestStatusChanged.ID, SecurityGroupID = securityGroupID },
                    new { EventID = DTO.Events.EventIdentifiers.Request.RoutingStatusChanged.ID, SecurityGroupID = securityGroupID }
                };

                //get the first submitted request belonging to the security groups owning project.
                var requestID = db.Requests.Where(r => db.SecurityGroups.Any(sg => sg.OwnerID == r.ProjectID && sg.ID == securityGroupID) &&
                                                  (int)r.Status >= (int)DTO.Enums.RequestStatuses.Submitted).OrderByDescending(r => r.Identifier).Select(r => r.ID).First();

                Console.WriteLine(requestID);

                Guid[] securityGroups = tuple.Select(t => t.SecurityGroupID).Distinct().ToArray();
                Guid[] events         = tuple.Select(t => t.EventID).Distinct().ToArray();

                var qq =
                    (from rqst in db.Requests
                     from deniedAcls in (db.GlobalEvents.Where(a => a.Allowed == false && securityGroups.Contains(a.SecurityGroupID) && events.Contains(a.EventID)).Select(a => new { a.SecurityGroupID, a.EventID })
                                         .Concat(db.ProjectEvents.Where(a => a.Project.Requests.Any(r => r.ID == rqst.ID) && a.Allowed == false && securityGroups.Contains(a.SecurityGroupID) && events.Contains(a.EventID)).Select(a => new { a.SecurityGroupID, a.EventID }))
                                         .Concat(db.OrganizationEvents.Where(a => a.Organization.Requests.Any(r => r.ID == rqst.ID) && a.Allowed == false && securityGroups.Contains(a.SecurityGroupID) && events.Contains(a.EventID)).Select(a => new { a.SecurityGroupID, a.EventID }))
                                         .Concat(db.ProjectOrganizationEvents.Where(a => a.Project.Requests.Any(r => r.ID == rqst.ID) && a.Organization.Requests.Any(r => r.ID == rqst.ID) && a.Allowed == false && securityGroups.Contains(a.SecurityGroupID) && events.Contains(a.EventID)).Select(a => new { a.SecurityGroupID, a.EventID }))
                                         .Concat(db.ProjectDataMartEvents.Where(a => a.Project.Requests.Any(r => r.ID == rqst.ID) && a.DataMart.Requests.Any(r => r.RequestID == rqst.ID) && a.Allowed == false && securityGroups.Contains(a.SecurityGroupID) && events.Contains(a.EventID)).Select(a => new { a.SecurityGroupID, a.EventID }))
                                         )
                     join sg in db.SecurityGroups on deniedAcls.SecurityGroupID equals sg.ID
                     join evt in db.Events on deniedAcls.EventID equals evt.ID
                     where rqst.ID == requestID
                     select new
                {
                    EventName = evt.Name,
                    SecurityGroupName = sg.Name
                }).ToArray();

                foreach (var x in qq.Distinct())
                {
                    //Console.WriteLine("{0}: {1} => {2}", x.SecurityGroupName, x.EventName, x.Denied ? "Denied" : "Not Denied");
                    Console.WriteLine("{0}: {1}", x.SecurityGroupName, x.EventName);
                }

                Console.WriteLine("");
                Console.WriteLine("Checking for a specific user.");
                //the user must be part of the security group that has the explict denies
                Guid userID = new Guid("9a26ebd2-a4f8-4f77-b487-a62c00b85126");

                var userEvents = new[] {
                    new { EventID = DTO.Events.EventIdentifiers.Request.NewRequestSubmitted.ID, UserID = userID },
                    new { EventID = DTO.Events.EventIdentifiers.Request.RequestAssignmentChange.ID, UserID = userID },
                    new { EventID = DTO.Events.EventIdentifiers.Request.RequestCommentChange.ID, UserID = userID },
                    new { EventID = DTO.Events.EventIdentifiers.Document.Change.ID, UserID = userID },
                    new { EventID = DTO.Events.EventIdentifiers.Request.RequestStatusChanged.ID, UserID = userID },
                    new { EventID = DTO.Events.EventIdentifiers.Request.RoutingStatusChanged.ID, UserID = userID }
                };

                Guid[] userIDs = userEvents.Select(ue => ue.UserID).Distinct().ToArray();
                events = userEvents.Select(ue => ue.EventID).Distinct().ToArray();

                var invalidUsers = (from rqst in db.Requests
                                    from u in db.Users
                                    join sgu in db.SecurityGroupUsers on u.ID equals sgu.UserID
                                    from deniedAcls in (db.GlobalEvents.Where(a => a.Allowed == false && a.SecurityGroupID == sgu.SecurityGroupID && events.Contains(a.EventID)).Select(a => new { a.SecurityGroupID, a.EventID })
                                                        .Concat(db.ProjectEvents.Where(a => a.Project.Requests.Any(r => r.ID == rqst.ID) && a.Allowed == false && a.SecurityGroupID == sgu.SecurityGroupID && events.Contains(a.EventID)).Select(a => new { a.SecurityGroupID, a.EventID }))
                                                        .Concat(db.OrganizationEvents.Where(a => a.Organization.Requests.Any(r => r.ID == rqst.ID) && a.Allowed == false && a.SecurityGroupID == sgu.SecurityGroupID && events.Contains(a.EventID)).Select(a => new { a.SecurityGroupID, a.EventID }))
                                                        .Concat(db.ProjectOrganizationEvents.Where(a => a.Project.Requests.Any(r => r.ID == rqst.ID) && a.Organization.Requests.Any(r => r.ID == rqst.ID) && a.Allowed == false && a.SecurityGroupID == sgu.SecurityGroupID && events.Contains(a.EventID)).Select(a => new { a.SecurityGroupID, a.EventID }))
                                                        .Concat(db.ProjectDataMartEvents.Where(a => a.Project.Requests.Any(r => r.ID == rqst.ID) && a.DataMart.Requests.Any(r => r.RequestID == rqst.ID) && a.Allowed == false && a.SecurityGroupID == sgu.SecurityGroupID && events.Contains(a.EventID)).Select(a => new { a.SecurityGroupID, a.EventID }))
                                                        )
                                    join evt in db.Events on deniedAcls.EventID equals evt.ID
                                    join sg in db.SecurityGroups on deniedAcls.SecurityGroupID equals sg.ID
                                    where userIDs.Contains(u.ID) && rqst.ID == requestID
                                    select new {
                    EventID = evt.ID,
                    EventName = evt.Name,
                    SecurityGroup = sg.Name,
                    UserID = u.ID,
                    FirstName = u.FirstName,
                    LastName = u.LastName,
                    Username = u.UserName
                }).ToArray();

                foreach (var u in invalidUsers.Distinct().GroupBy(k => new { k.EventID, k.EventName, k.UserID, k.FirstName, k.LastName, k.Username }))
                {
                    string name = (string.IsNullOrEmpty(u.Key.FirstName) == false || string.IsNullOrEmpty(u.Key.LastName) == false) ? (u.Key.FirstName + " " + u.Key.LastName).Trim() : u.Key.Username;
                    string securityGroupNames = string.Join(", ", u.Select(k => k.SecurityGroup));
                    Console.WriteLine("{0}: {1} ({2})", name, u.Key.EventName, securityGroupNames);
                }
            }
        }
Beispiel #16
0
 public ActivitiesController(IActivities act, IWebHostEnvironment host, DataContext con)
 {
     _activity          = act;
     hostingEnvironment = host;
     context            = con;
 }
 public BuggyController(Data.DataContext context)
 {
     _context = context;
 }
 public ReviewRepository()
 {
     db = new DataContext();
 }
 public ValuesController(Data.DataContext ctx)
 {
     _context = ctx;
 }
 public BikeStationController(Data.DataContext context)
 {
     _context = context;
 }
Beispiel #21
0
        public static async Task UpdateNewOrgTest()
        {
            string filepath = System.IO.Path.Combine(ResourceFolder, "OrganizationsUpdate.json");
            var    json     = System.IO.File.ReadAllText(filepath);

            Newtonsoft.Json.JsonSerializerSettings jsonSettings = new Newtonsoft.Json.JsonSerializerSettings();
            jsonSettings.DefaultValueHandling = Newtonsoft.Json.DefaultValueHandling.IgnoreAndPopulate;
            OrgList orgs       = Newtonsoft.Json.JsonConvert.DeserializeObject <OrgList>(json, jsonSettings);
            var     controller = new OrganizationsController();

            foreach (var org in orgs.Organizations)
            {
                using (var db = new Data.DataContext())
                {
                    var orgID = OrgPair.Where(x => x.Key == org.ID).Select(x => x.Value).FirstOrDefault();
                    org.ID = orgID;
                    var metadatas    = db.DomainDatas.OfType <Data.OrganizationDomainData>().Where(x => x.OrganizationID == orgID).ToArray();
                    var newMetaDatas = new List <DomainDataDTO>();
                    foreach (var metadata in metadatas)
                    {
                        if (metadata.DomainUseID == new Guid("082C0001-C179-4630-A0C9-A6560123AFC6") || metadata.DomainReferenceID == new Guid("16C392E9-FF26-47C6-AE6F-A62600B48C85"))
                        {
                            var meta = new DomainDataDTO();
                            meta.Value          = metadata.Value + " Update Test";
                            meta.SequenceNumber = 0;
                            meta.ID             = metadata.ID;
                            meta.DomainUseID    = metadata.DomainUseID;
                            if (metadata.DomainReferenceID.HasValue)
                            {
                                meta.DomainReferenceID = metadata.DomainReferenceID.Value;
                            }
                            newMetaDatas.Add(meta);
                        }
                        else if (metadata.DomainReferenceID == new Guid("BF140BF4-91BF-41F0-BA4A-A62600AED2B9") || metadata.DomainReferenceID == new Guid("B7236848-CA4E-4F5F-B482-A62600AEC6C6"))
                        {
                            //Intensionally leaving this blank to not put into newMetaDatas List.
                        }
                        else if (org.ID == new Guid("CD50B39C-9A9E-48FB-91D0-A62700F623B0"))
                        {
                            var meta = new DomainDataDTO()
                            {
                                DomainUseID       = Guid.Parse("B5D00001-6085-44DA-8162-A6560124D48D"),
                                DomainReferenceID = Guid.Parse("95414CD3-B661-4F91-8957-A62600B243D9"),
                                SequenceNumber    = 0
                            };
                            newMetaDatas.Add(meta);
                        }
                        else if (org.ID == new Guid("8EDD0AF4-29CE-4B82-8D85-A62700F8EFDF"))
                        {
                            var meta = new DomainDataDTO()
                            {
                                DomainUseID       = Guid.Parse("B5D00001-6085-44DA-8162-A6560124D48D"),
                                DomainReferenceID = Guid.Parse("F108307B-B8C5-4DE4-A6E8-A62600B25065"),
                                Value             = "LPP Types of Data",
                                SequenceNumber    = 0
                            };
                            newMetaDatas.Add(meta);
                        }
                        else
                        {
                            //This is filling in all the rest to remain untouched
                            var meta = new DomainDataDTO()
                            {
                                ID             = metadata.ID,
                                DomainUseID    = metadata.DomainUseID,
                                Value          = metadata.Value,
                                SequenceNumber = metadata.SequenceNumber
                            };
                            if (metadata.DomainReferenceID.HasValue)
                            {
                                meta.DomainReferenceID = metadata.DomainReferenceID;
                            }
                            newMetaDatas.Add(meta);
                        }
                    }
                    org.Metadata = newMetaDatas;



                    var response = await controller.Update(org);

                    var orgGet = await db.Organizations.FindAsync(orgID);

                    var metaData = await db.DomainDatas.OfType <Data.OrganizationDomainData>().Where(x => x.OrganizationID == orgID).ToArrayAsync();

                    Assert.IsTrue(!orgGet.IsEmpty());
                    Assert.IsTrue(metaData.Count() > 0);
                }
            }
        }
 public TDataRepository(Data.DataContext context)
 {
     this.dataContext = context;
 }
 public OrderRepository()
 {
     db = new DataContext();
 }
Beispiel #24
0
        internal static SSOModule FindByURL(Uri url)
        {
            /* Here's the basic pattern:
             *  - Check the cache for the value, return if its available
             *  - If the value is not in the cache, then implement a lock
             *  - Inside the lock, check the cache again, you might have been blocked
             *  - Perform the value look up and cache it
             *  - Release the lock
             */
            string urlString = url.ToString();
            SortedDictionary <string, SSOModule> urls = SSOHelper.MembershipProvider.UseCache ? HttpContext.Current.Cache["Salud.Security.SSO.URLs"] as SortedDictionary <string, SSOModule> : null;

            if (urls != null && urls.ContainsKey(urlString))
            {
                return(urls[urlString]);
            }
            else
            {
                lock (cacheLock)
                {
                    // Busca de nuevo (ver explicación más arriba)
                    urls = SSOHelper.MembershipProvider.UseCache ? HttpContext.Current.Cache["Salud.Security.SSO.URLs"] as SortedDictionary <string, SSOModule> : null;
                    if (urls != null && urls.ContainsKey(urlString))
                    {
                        return(urls[urlString]);
                    }
                    else
                    {
                        // Busca en el caché de módulos
                        List <SSOModule> modules = SSOHelper.MembershipProvider.UseCache ? HttpContext.Current.Cache["Salud.Security.SSO.Modules"] as List <SSOModule> : null;
                        if (modules == null)
                        {
                            using (Data.DataContext DataContext = SSOHelper.GetDataContext())
                            {
                                var query = from module in DataContext.SSO_Modules
                                            join pages in DataContext.SSO_ModulePages on module.id equals pages.moduleId into joined
                                            from page in joined.DefaultIfEmpty()
                                            where module.SSO_Applications.url != null && module.SSO_Applications.url.Length > 0
                                            orderby module.SSO_Applications.url + "/" + ((page == null) ? "" : page.page) descending /* Este orden permite que primero haga el matching en las URLS XX/YY/ZZ, luego en XX/YY, luego en XX, ... */
                                            select new SSOModule(module.SSO_Applications, module.id, module.module, module.SSO_Applications.url + "/" + ((page == null) ? "" : page.page), module.name, module.description, module.@protected, module.interfase_image, module.interfase_priority, module.interfase_visible, module.groupId);
                                modules = query.ToList();
                                HttpContext.Current.Cache["Salud.Security.SSO.Modules"] = modules;
                            }
                        }

                        var result = modules.FirstOrDefault(r => r.MatchURL(url));
                        if (result == null)
                        {
                            // Busca un nivel más arriba (XX/YY/ZZ --> XX/YY)
                            string s = String.Format("{0}{1}{2}{3}", url.Scheme, Uri.SchemeDelimiter, url.Authority, url.AbsolutePath);
                            if (s.EndsWith("/"))
                            {
                                s = s.Substring(0, s.Length - 1);
                            }
                            s = s.Substring(0, s.LastIndexOf('/'));
                            if (Uri.IsWellFormedUriString(s, UriKind.Absolute))
                            {
                                result = SSOModule.FindByURL(new Uri(s));
                            }
                        }

                        if (urls == null)
                        {
                            urls = new SortedDictionary <string, SSOModule>();
                        }
                        urls.Add(urlString, result);
                        HttpContext.Current.Cache["Salud.Security.SSO.URLs"] = urls;
                        return(result);
                    }
                }
            }
        }
Beispiel #25
0
 public ValuesController(Data.DataContext context)
 {
     _context = context;
 }
        public async Task <ActionResult <List <ProdutoUpload> > > Get([FromServices] Data.DataContext context)
        {
            var produto = await context.Produtos.ToListAsync();

            return(produto);
        }
Beispiel #27
0
 public WorkingManagementHub(Data.DataContext context)
 {
     _context = context;
 }
Beispiel #28
0
        public void QlikBulkLoadQueryForDataSources()
        {
            using (var db = new Data.DataContext())
            {
                db.Database.Log = (s) => {
                    Logger.Debug(s);
                };


                var q = from ds in db.DataSources
                        from def in (
                    from d in db.Domains.Where(x => x.Deleted == false)
                    join du in db.DomainUses.Where(x => x.Deleted == false) on d.ID equals du.DomainID
                    join domainReference in db.DomainReferences.Where(x => x.Deleted == false) on d.ID equals domainReference.DomainID into domainReferences
                    from dr in domainReferences.DefaultIfEmpty()
                    where du.EntityType == DTO.Enums.EntityType.DataSource
                    select new
                {
                    DomainUseID = du.ID,
                    DomainID = du.DomainID,
                    ParentDomainID = d.ParentDomainID,
                    DomainTitle = d.Title,
                    DomainIsMultiValueSelect = d.IsMultiValue,
                    DomainDataType = d.DataType,
                    DomainReferenceID = (Guid?)dr.ID,
                    DomainReferenceTItle = dr.Title,
                    DomainReferenceDescription = dr.Description,
                    DomainReferenceValue = dr.Value
                }

                    )
                        join org in db.Organizations on ds.OrganizationID equals org.ID
                        let domData = db.DomainDatas.OfType <DataSourceDomainData>().Where(dat => ds.ID == dat.DataSourceID && def.DomainUseID == dat.DomainUseID && def.DomainReferenceID == dat.DomainReferenceID).FirstOrDefault()
                                      let domVis = ds.DomainAccess.Where(da => da.DomainUseID == def.DomainUseID).FirstOrDefault()
                                                   where ds.Deleted == false
                                                   select new {
                    NetworkID                    = org.NetworkID,
                    Network                      = org.Network.Name,
                    NetworkUrl                   = org.Network.Url,
                    OrganizationID               = ds.OrganizationID,
                    Organization                 = org.Name,
                    OrganizationAcronym          = org.Acronym,
                    ParentOrganizationID         = org.ParentOrganizationID,
                    DataSourceID                 = ds.ID,
                    DataSource                   = ds.Name,
                    DataSourceAcronym            = ds.Acronym,
                    DataSourceAdapterSupportedID = ds.AdapterSupportedID,
                    DataSourceAdapterSupported   = ds.AdapterSupported.Name,
                    SupportsCrossNetworkRequests = ds.AdapterSupportedID.HasValue,
                    DomainUseID                  = def.DomainUseID,
                    DomainID                     = def.DomainID,
                    ParentDomainID               = def.ParentDomainID,
                    DomainTitle                  = def.DomainTitle,
                    DomainIsMultiValueSelect     = def.DomainIsMultiValueSelect,
                    DomainDataType               = def.DomainDataType,
                    DomainReferenceID            = def.DomainReferenceID,
                    DomainReferenceTitle         = def.DomainReferenceTItle,
                    DomainReferenceDescription   = def.DomainReferenceDescription,
                    DomainReferenceValue         = def.DomainReferenceValue,
                    DomainDataValue              = def.DomainDataType == "boolean" ? (domData.ID == null ? "false" : "true"): domData.Value,
                    DomainDataDomainReferenceID  = domData.DomainReferenceID,
                    DomainAccessValue            = domVis != null ? (int)domVis.AccessType : 0
                };

                //var query = q.ToString();

                //PMN datamart ID
                Guid datamartID = new Guid("");
                //PMN network ID for the datamart
                Guid networkID = new Guid("");

                var details = (from ds in q
                               where db.NetworkEntities.Any(ne => ne.ID == ds.DataSourceID && ne.EntityType == DTO.Enums.EntityType.DataSource && ne.NetworkEntityID == datamartID && ne.NetworkID == networkID)
                               select ds).ToArray();

                foreach (var d in details)
                {
                    Logger.Debug(string.Format("{0}, {1}, {2}, {3}, {4}, {5}", d.DataSourceID, d.DataSource, d.DomainID, d.DomainTitle, d.DomainReferenceID, d.DomainReferenceTitle));
                }

                //var datasources = q.ToArray();
                //Logger.Debug(datasources.Length + " records returned.");

                if (System.IO.File.Exists("datasource_details.json"))
                {
                    System.IO.File.Delete("datasource_details.json");
                }

                using (var fs = new System.IO.StreamWriter("datasource_details.json", false))
                {
                    var serializationSettings = new Newtonsoft.Json.JsonSerializerSettings();
                    serializationSettings.Formatting = Newtonsoft.Json.Formatting.Indented;

                    var js = Newtonsoft.Json.JsonSerializer.Create(serializationSettings);
                    js.Serialize(fs, details);
                    fs.Flush();
                }
            }
        }
Beispiel #29
0
 public UsuariosController(Data.DataContext context)
 {
     _context = context;
 }
        public async Task GetMetadataPermissionQuery()
        {
            using (var DataContext = new Data.DataContext())
            {
                DataContext.Database.Log = (sql) => {
                    Logger.Debug(sql);
                };

                var result = new DTO.MetadataEditPermissionsSummaryDTO {
                    CanEditRequestMetadata = false, EditableDataMarts = Enumerable.Empty <Guid>()
                };
                var globalAcls              = DataContext.GlobalAcls.FilterAcl(_identity, PermissionIdentifiers.Request.Edit);
                var projectAcls             = DataContext.ProjectAcls.FilterAcl(_identity, PermissionIdentifiers.Request.Edit, PermissionIdentifiers.ProjectRequestTypeWorkflowActivities.EditRequestMetadata);
                var projectOrganizationAcls = DataContext.ProjectOrganizationAcls.FilterAcl(_identity, PermissionIdentifiers.Request.Edit);

                result.CanEditRequestMetadata = await(from r in DataContext.Secure <Request>(_identity).AsNoTracking()
                                                      let gAcl                                                           = globalAcls
                                                                                        let pAcl                         = projectAcls.Where(a => a.ProjectID == r.ProjectID)
                                                                                                               let poAcl = projectOrganizationAcls.Where(a => a.ProjectID == r.ProjectID && a.OrganizationID == r.OrganizationID)
                                                                                                                           where ((gAcl.Any() || pAcl.Where(a => a.PermissionID == PermissionIdentifiers.Request.Edit.ID).Any() || poAcl.Any()) && (gAcl.All(a => a.Allowed) && pAcl.Where(a => a.PermissionID == PermissionIdentifiers.Request.Edit.ID).All(a => a.Allowed) && poAcl.All(a => a.Allowed))) &&
                                                                                                                           ((int)r.Status < 500 ? true : (pAcl.Where(a => a.PermissionID == PermissionIdentifiers.ProjectRequestTypeWorkflowActivities.EditRequestMetadata.ID).Any() && pAcl.Where(a => a.PermissionID == PermissionIdentifiers.ProjectRequestTypeWorkflowActivities.EditRequestMetadata.ID).All(a => a.Allowed)))
                                                                                                                           select r).AnyAsync();

                if (result.CanEditRequestMetadata)
                {
                    var datamarts = DataContext.Secure <DataMart>(_identity, PermissionIdentifiers.DataMartInProject.SeeRequests);
                    var requests  = DataContext.Secure <Request>(_identity);

                    result.EditableDataMarts = await(from rdm in DataContext.RequestDataMarts
                                                     join dm in datamarts on rdm.DataMartID equals dm.ID
                                                     join r in requests on rdm.RequestID equals r.ID
                                                     let gAcl                                                           = globalAcls
                                                                                       let pAcl                         = projectAcls.Where(a => a.ProjectID == r.ProjectID)
                                                                                                              let poAcl = projectOrganizationAcls.Where(a => a.ProjectID == r.ProjectID && a.OrganizationID == r.OrganizationID)
                                                                                                                          where ((gAcl.Any() || pAcl.Where(a => a.PermissionID == PermissionIdentifiers.Request.Edit.ID).Any() || poAcl.Any()) && (gAcl.All(a => a.Allowed) && pAcl.Where(a => a.PermissionID == PermissionIdentifiers.Request.Edit.ID).All(a => a.Allowed) && poAcl.All(a => a.Allowed))) &&
                                                                                                                          ((int)r.Status < 500 ? true : (pAcl.Where(a => a.PermissionID == PermissionIdentifiers.ProjectRequestTypeWorkflowActivities.EditRequestMetadata.ID).Any() && pAcl.Where(a => a.PermissionID == PermissionIdentifiers.ProjectRequestTypeWorkflowActivities.EditRequestMetadata.ID).All(a => a.Allowed)))
                                                                                                                          select rdm.DataMartID).GroupBy(k => k).Select(k => k.Key).ToArrayAsync();
                }

                Logger.Debug("####### Modified #######");

                var editableRequestsQuery = from r in DataContext.Secure <Request>(_identity).AsNoTracking()
                                            let userID = _identity.ID
                                                         let requestEditPermissionID = PermissionIdentifiers.Request.Edit.ID
                                                                                       let editRequestMetadataPermissionID = PermissionIdentifiers.ProjectRequestTypeWorkflowActivities.EditRequestMetadata.ID
                                                                                                                             let requestEdit = DataContext.FilteredGlobalAcls(userID, requestEditPermissionID).Select(a => a.Allowed)
                                                                                                                                               .Concat(DataContext.FilteredProjectAcls(userID, requestEditPermissionID, r.ProjectID).Select(a => a.Allowed))
                                                                                                                                               .Concat(DataContext.FilteredProjectOrganizationsAcls(userID, requestEditPermissionID, r.ProjectID, r.OrganizationID).Select(a => a.Allowed))
                                                                                                                                               let editRequestMetadata = DataContext.FilteredProjectAcls(userID, editRequestMetadataPermissionID, r.ProjectID).Select(a => a.Allowed)
                                                                                                                                                                         .Concat(DataContext.ProjectRequestTypeWorkflowActivities.Where(a => a.PermissionID == editRequestMetadataPermissionID && a.ProjectID == r.ProjectID && a.RequestTypeID == r.RequestTypeID && a.WorkflowActivityID == r.WorkFlowActivityID && a.SecurityGroup.Users.Any(sgu => sgu.UserID == userID)).Select(a => a.Allowed))
                                                                                                                                                                         where (requestEdit.Any() && requestEdit.All(a => a)) &&
                                                                                                                                                                         ((int)r.Status < 500 ? true : (editRequestMetadata.Any() && editRequestMetadata.All(a => a)))
                                                                                                                                                                         select r;

                var editableDataMarts = await(from rdm in DataContext.RequestDataMarts
                                              join dm in DataContext.DataMarts on rdm.DataMartID equals dm.ID
                                              join r in editableRequestsQuery on rdm.RequestID equals r.ID
                                              let seeRequestsPermissionID = PermissionIdentifiers.DataMartInProject.SeeRequests.ID
                                                                            let userID = _identity.ID
                                                                                         let datamartAcls = DataContext.FilteredGlobalAcls(userID, seeRequestsPermissionID).Select(a => a.Allowed)
                                                                                                            .Concat(DataContext.FilteredOrganizationAcls(userID, seeRequestsPermissionID, dm.OrganizationID).Select(a => a.Allowed))
                                                                                                            .Concat(DataContext.FilteredProjectAcls(userID, seeRequestsPermissionID, r.ProjectID).Select(a => a.Allowed))
                                                                                                            .Concat(DataContext.FilteredDataMartAcls(userID, seeRequestsPermissionID, rdm.DataMartID).Select(a => a.Allowed))
                                                                                                            .Concat(DataContext.FilteredProjectDataMartAcls(userID, seeRequestsPermissionID, r.ProjectID, rdm.DataMartID).Select(a => a.Allowed))
                                                                                                            where datamartAcls.Any() && datamartAcls.All(a => a)
                                                                                                            select rdm.DataMartID).Distinct().ToArrayAsync();
            }
        }
Beispiel #31
0
        public static async Task UpdateNewUserTest()
        {
            string filepath = System.IO.Path.Combine(ResourceFolder, "UsersUpdate.json");
            var    json     = System.IO.File.ReadAllText(filepath);

            Newtonsoft.Json.JsonSerializerSettings jsonSettings = new Newtonsoft.Json.JsonSerializerSettings();
            jsonSettings.DefaultValueHandling = Newtonsoft.Json.DefaultValueHandling.IgnoreAndPopulate;
            UsersList users      = Newtonsoft.Json.JsonConvert.DeserializeObject <UsersList>(json, jsonSettings);
            var       controller = new UsersController();

            foreach (var user in users.Users)
            {
                using (var db = new Data.DataContext())
                {
                    var usrID = UsersPair.Where(x => x.Key == user.ID).Select(x => x.Value).FirstOrDefault();
                    user.ID             = usrID;
                    user.OrganizationID = Organizations.OrganizationTests.OrgPair.Where(x => x.Key == user.OrganizationID).Select(x => x.Value).FirstOrDefault();

                    //TODO: The below Section is Commented out till User Metadata is Ready
                    //var metadatas = db.DomainDatas.OfType<Data.UserDomainData>().Where(x => x.User == usrID).ToArray();
                    //var newMetaDatas = new List<DomainDataDTO>();
                    //foreach (var metadata in metadatas)
                    //{
                    //    if (metadata.DomainUseID == new Guid("082C0001-C179-4630-A0C9-A6560123AFC6") || metadata.DomainReferenceID == new Guid("16C392E9-FF26-47C6-AE6F-A62600B48C85"))
                    //    {
                    //        var meta = new DomainDataDTO();
                    //        meta.Value = metadata.Value + " Update Test";
                    //        meta.SequenceNumber = 0;
                    //        meta.ID = metadata.ID;
                    //        meta.DomainUseID = metadata.DomainUseID;
                    //        if (metadata.DomainReferenceID.HasValue)
                    //            meta.DomainReferenceID = metadata.DomainReferenceID.Value;
                    //        newMetaDatas.Add(meta);
                    //    }
                    //    else if (metadata.DomainReferenceID == new Guid("BF140BF4-91BF-41F0-BA4A-A62600AED2B9") || metadata.DomainReferenceID == new Guid("B7236848-CA4E-4F5F-B482-A62600AEC6C6"))
                    //    {
                    //        //Intensionally leaving this blank to not put into newMetaDatas List.
                    //    }
                    //    else if (user.ID == new Guid("CD50B39C-9A9E-48FB-91D0-A62700F623B0"))
                    //    {
                    //        var meta = new DomainDataDTO()
                    //        {
                    //            DomainUseID = Guid.Parse("B5D00001-6085-44DA-8162-A6560124D48D"),
                    //            DomainReferenceID = Guid.Parse("95414CD3-B661-4F91-8957-A62600B243D9"),
                    //            SequenceNumber = 0
                    //        };
                    //        newMetaDatas.Add(meta);
                    //    }
                    //    else if (user.ID == new Guid("8EDD0AF4-29CE-4B82-8D85-A62700F8EFDF"))
                    //    {
                    //        var meta = new DomainDataDTO()
                    //        {
                    //            DomainUseID = Guid.Parse("B5D00001-6085-44DA-8162-A6560124D48D"),
                    //            DomainReferenceID = Guid.Parse("F108307B-B8C5-4DE4-A6E8-A62600B25065"),
                    //            Value = "LPP Types of Data",
                    //            SequenceNumber = 0
                    //        };
                    //        newMetaDatas.Add(meta);
                    //    }
                    //    else
                    //    {

                    //        //This is filling in all the rest to remain untouched
                    //        var meta = new DomainDataDTO()
                    //        {
                    //            ID = metadata.ID,
                    //            DomainUseID = metadata.DomainUseID,
                    //            Value = metadata.Value,
                    //            SequenceNumber = metadata.SequenceNumber
                    //        };
                    //        if (metadata.DomainReferenceID.HasValue)
                    //            meta.DomainReferenceID = metadata.DomainReferenceID;
                    //        newMetaDatas.Add(meta);
                    //    }
                    //}
                    //user.Metadata = newMetaDatas;



                    var response = await controller.Update(user);

                    var userGet = await db.Users.FindAsync(usrID);

                    //var metaData = await db.DomainDatas.OfType<Data.UserDomainData>().Where(x => x.UserID == usrID).ToArrayAsync();
                    Assert.IsTrue(!userGet.IsEmpty());
                    //Assert.IsTrue(metaData.Count() > 0);
                }
            }
        }