public bool SetEmployeesToProject(Project project, List <Employee> emplsToAdd, List <Employee> emplsToDelele) { InfBaseModel infBaseModel = new InfBaseModel(uri); infBaseModel.SendingRequest2 += OnSendingRequest2; infBaseModel.AttachTo("Projects", project); if (emplsToDelele != null) { foreach (var e in emplsToDelele) { infBaseModel.AttachTo("Employees", e); infBaseModel.DeleteLink(project, "Employees", e); } } if (emplsToAdd != null) { foreach (var e in emplsToAdd) { infBaseModel.AttachTo("Employees", e); infBaseModel.AddLink(project, "Employees", e); } } if (emplsToAdd != null && emplsToAdd.Count > 0 || emplsToDelele != null && emplsToDelele.Count > 0) { return(infBaseModel.SaveChanges().All(oR => oR.Error == null)); } else { return(false); } }
public List <Employee> GetEmplIDs() { InfBaseModel infBaseModel = new InfBaseModel(uri); infBaseModel.SendingRequest2 += OnSendingRequest2; QueryOperationResponse <Employee> qOR; qOR = (infBaseModel.Employees.Select(e => new Employee() { Id = e.Id }) as DataServiceQuery <Employee>) .Execute() as QueryOperationResponse <Employee>; DataServiceQueryContinuation <Employee> token = null; List <Employee> employees = new List <Employee>(); do { if (token != null) { qOR = infBaseModel.Execute(token); } employees.AddRange(qOR); } while ((token = qOR.GetContinuation()) != null); return(employees); }
public List <Project> GetProjIDs() { InfBaseModel infBaseModel = new InfBaseModel(uri); infBaseModel.SendingRequest2 += OnSendingRequest2; QueryOperationResponse <Project> qOR = (infBaseModel.Projects.Select(p => new Project() { Id = p.Id }) as DataServiceQuery <Project>) .Execute() as QueryOperationResponse <Project>; DataServiceQueryContinuation <Project> token = null; List <Project> projects = new List <Project>(); do { if (token != null) { qOR = infBaseModel.Execute(token); } projects.AddRange(qOR); }while ((token = qOR.GetContinuation()) != null); return(projects); }
public List <Project> OtherLeadOnProjExistance(List <Project> projects) { List <Project> projsWithLeader; if (projects != null) { InfBaseModel infBaseModel = new InfBaseModel(uri); infBaseModel.SendingRequest2 += OnSendingRequest2; projsWithLeader = TryGetProjectsByPredicate(p => p.LeaderId != null); List <Project> resultProjects = new List <Project>(); foreach (var project in projects) { if (projsWithLeader.Exists(p => p.Id == project.Id)) { resultProjects.Add(project); } } return(resultProjects); } else { return(new List <Project>()); } }
public bool SetLeadProjectsToEmployee(Employee employee, List <Project> leadProjsToAdd, List <Project> leadProjsToDelele) { InfBaseModel infBaseModel = new InfBaseModel(uri); infBaseModel.SendingRequest2 += OnSendingRequest2; infBaseModel.AttachTo("Employees", employee); if (leadProjsToAdd != null) { foreach (var p in leadProjsToAdd) { infBaseModel.AttachTo("Projects", p); infBaseModel.AddLink(employee, "LeadProjects", p); } } if (leadProjsToDelele != null) { foreach (var p in leadProjsToDelele) { infBaseModel.AttachTo("Projects", p); infBaseModel.DeleteLink(employee, "LeadProjects", p); } } if (leadProjsToAdd != null && leadProjsToAdd.Count > 0 || leadProjsToDelele != null && leadProjsToDelele.Count > 0) { return(infBaseModel.SaveChanges().All(oR => oR.Error == null)); } else { return(false); } }
public void AddUser(IdentityUser user) { InfBaseModel infBaseModel = new InfBaseModel(uri); string strUri = string.Format("http://localhost:25707/WcfDataServ.svc/AddUser?user='******'", user); Uri methodUri = new Uri(strUri); infBaseModel.Execute <string>(methodUri); int tyu = 0; }
public bool SetLeaderToProject(Project project, Employee leader) { InfBaseModel infBaseModel = new InfBaseModel(uri); infBaseModel.SendingRequest2 += OnSendingRequest2; infBaseModel.AttachTo("Projects", project); if (leader != null) { infBaseModel.AttachTo("Employees", leader); } infBaseModel.SetLink(project, "Leader", leader); return(infBaseModel.SaveChanges().All(oR => oR.Error == null)); }
public bool SetEmployees(List <Employee> emplToAdd, List <Employee> emplToUpdate, List <Employee> emplToDelete) { InfBaseModel infBaseModel = new InfBaseModel(uri); infBaseModel.SendingRequest2 += OnSendingRequest2; if (emplToAdd != null) { foreach (var e in emplToAdd) { infBaseModel.AddToEmployees(e); } } if (emplToUpdate != null) { foreach (var e in emplToUpdate) { infBaseModel.AttachTo("Employees", e); infBaseModel.UpdateObject(e); } } if (emplToDelete != null) { foreach (var e in emplToDelete) { List <Project> leadProjects = infBaseModel.Projects.Where(p => p.LeaderId == e.Id).ToList(); foreach (var p in leadProjects) { infBaseModel.SetLink(p, "Leader", null); } infBaseModel.AttachTo("Employees", e); infBaseModel.DeleteObject(e); } } if (emplToAdd != null && emplToAdd.Count > 0 || emplToUpdate != null && emplToUpdate.Count > 0 || emplToDelete != null && emplToDelete.Count > 0) { return(infBaseModel.SaveChanges().All(oR => oR.Error == null)); } else { return(false); } }
List <Project> TryGetProjectsByPredicate(Expression <Func <Project, bool> > predicate, bool expand = true) { InfBaseModel infBaseModel = new InfBaseModel(uri); infBaseModel.SendingRequest2 += OnSendingRequest2; List <Project> projects = new List <Project>(); QueryOperationResponse <Project> qORP; try { if (expand == true) { qORP = (infBaseModel.Projects.Expand(p => p.Employees) .Expand(p => p.Leader) .Where(predicate) as DataServiceQuery <Project>) .Execute() as QueryOperationResponse <Project>; } else { qORP = (infBaseModel.Projects.Where(predicate) as DataServiceQuery <Project>) .Execute() as QueryOperationResponse <Project>; } DataServiceQueryContinuation <Project> token = null; do { if (token != null) { qORP = infBaseModel.Execute(token); } projects.AddRange(qORP); }while ((token = qORP.GetContinuation()) != null); } catch (DataServiceQueryException ex) { throw new LogicDataQueryException(ex, ex.Response.StatusCode); } return(projects); }
static bool TryGetPrincipal(string authHeader, out IPrincipal principal) { string[] creds = ParseAuthHeader(authHeader); principal = null; if (creds != null) { if (creds.Length != 2) { principal = null; return(false); } else { IdentityDbContext <IdentityUser> identityDbContext = new InfBaseModel() as IdentityDbContext <IdentityUser>; string userName = creds[0]; List <IdentityUser> users = identityDbContext.Users.Include(u => u.Roles).Where(u => u.UserName == userName).ToList(); foreach (var user in users) { if (creds[1] == user.PasswordHash) { List <string> roleNames = new List <string>(); foreach (var role in user.Roles) { roleNames.Add(identityDbContext.Roles.First(r => r.Id == role.RoleId).Name); } principal = new GenericPrincipal(new GenericIdentity(creds[0]), new string[] { "Admin", "User" });//roleNames.ToArray()); return(true); } } principal = null; return(false); } } else { principal = null; return(false); } }
List <Employee> TryGetEmployeesByPredicate(Expression <Func <Employee, bool> > predicate, bool expand = true) { InfBaseModel infBaseModel = new InfBaseModel(uri); infBaseModel.SendingRequest2 += OnSendingRequest2; List <Employee> employees = new List <Employee>(); QueryOperationResponse <Employee> qOR; try { if (expand == true) { qOR = (infBaseModel.Employees.Expand(e => e.Projects) .Expand(e => e.LeadProjects) .Where(predicate) as DataServiceQuery <Employee>) .Execute() as QueryOperationResponse <Employee>; } else { qOR = (infBaseModel.Employees.Where(predicate) as DataServiceQuery <Employee>) .Execute() as QueryOperationResponse <Employee>; } DataServiceQueryContinuation <Employee> token = null; do { if (token != null) { qOR = infBaseModel.Execute(token); } employees.AddRange(qOR); } while ((token = qOR.GetContinuation()) != null); } catch (DataServiceQueryException ex) { throw new Exception("Вы не прошли аутентификацию! Необходимо ввести ваш логин и пароль.", ex); } return(employees); }
public bool SetProjects(List <Project> projToAdd, List <Project> projToUpdate, List <Project> projToDelete) { InfBaseModel infBaseModel = new InfBaseModel(uri); infBaseModel.SendingRequest2 += OnSendingRequest2; if (projToAdd != null) { foreach (var p in projToAdd) { infBaseModel.AddToProjects(p); } } if (projToUpdate != null) { foreach (var p in projToUpdate) { infBaseModel.AttachTo("Projects", p); infBaseModel.UpdateObject(p); } } if (projToDelete != null) { foreach (var p in projToDelete) { infBaseModel.AttachTo("Projects", p); infBaseModel.DeleteObject(p); } } if (projToAdd != null && projToAdd.Count > 0 || projToUpdate != null && projToUpdate.Count > 0 || projToDelete != null && projToDelete.Count > 0) { return(infBaseModel.SaveChanges().All(oR => oR.Error == null)); } else { return(false); } }