Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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>());
            }
        }
Ejemplo n.º 5
0
        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);
            }
        }
Ejemplo n.º 6
0
        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;
        }
Ejemplo n.º 7
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));
        }
Ejemplo n.º 8
0
        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);
            }
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
        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);
            }
        }
Ejemplo n.º 11
0
        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);
        }
Ejemplo n.º 12
0
        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);
            }
        }