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); }
/// <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; } } }
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); }
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; }
public EngineService(Data.DataContext context, IServiceProvider serviceProvider) { _context = context; _serviceProvider = serviceProvider; return; }
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); } } }
public TareasController(Data.DataContext context) { _context = context; }
public WorkingManagementHub(Data.DataContext context, ITaskService taskService) { _context = context; _taskService = taskService; }
public DetallesController(Data.DataContext context) { _context = context; }
public OrdersController(Data.DataContext context) { _context = context; }
// 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); } } }
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; }
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(); }
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); } } } }
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); }
public WorkingManagementHub(Data.DataContext context) { _context = context; }
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(); } } }
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(); } }
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); } } }