Example #1
0
        private void OnAddGroup()
        {
            if (Student.RelOrganizations == null)
            {
                Student.RelOrganizations = new ObservableCollection <RelOrganization>();
            }

            RelOrganization relOrganization = new RelOrganization {
                RelOrganizationID = Guid.NewGuid()
            };

            relOrganization.OrganizationID = SelectedGroupId;
            relOrganization.StudentID      = Student.StudentGuid;

            AddedGroups.Add(relOrganization);
            Student.RelOrganizations.Add(relOrganization);
            Student.Organizations.Add(Organizations.SingleOrDefault(i => i.OrganizationID == relOrganization.OrganizationID));

            Organizations.Remove(Organizations.SingleOrDefault(i => i.OrganizationID == relOrganization.OrganizationID));

            if (Organizations.Count != 0)
            {
                SelectedGroupId = Organizations.FirstOrDefault().OrganizationID;
            }
            else
            {
                SelectedGroupId = new Guid();
            }

            AddGroupCommand.RaiseCanExecuteChanged();
        }
Example #2
0
 public WarehouseViewModel()
 {
     CleanUp();
     _warehouseService = new WarehouseService();
     CheckRoles();
     GetLiveOrganizations();
     SelectedOrganization = Organizations.FirstOrDefault();
 }
        public Organization FindOrganizationByName(string organizationName)
        {
            if (Organizations == null)
            {
                Organizations = new List <Organization>();
            }

            return(Organizations.FirstOrDefault(x => x.Name.Equals(organizationName, StringComparison.InvariantCultureIgnoreCase)));
        }
Example #4
0
 public string RemovePeople(int id)
 {
     try
     {
         var item = Peoples.FirstOrDefault(i => i.PeopleID == id);
         Departments.FirstOrDefault(i => i.DepartmentID == item.DepartmentID).People.Remove(item);
         Organizations.FirstOrDefault(i => i.OrganizationID == item.OrganizationID).People.Remove(item);
         Positions.FirstOrDefault(i => i.PositionID == item.PositionID).People.Remove(item);
         Peoples.Remove(item);
         SaveChanges();
         return("Запись успешно удалена");
     }
     catch (Exception ex) { return(ex.Message); }
 }
Example #5
0
        public List <Organization> GetOrganizations(List <MapObject> input)
        {
            var res = new HashSet <Organization>();

            foreach (var item in input)
            {
                var curOrg = Organizations.FirstOrDefault(x => x.IsUsed != false && x.OrganizationMapObject.Select(z => z.MapObjectID).Contains(item.MapObjectID));
                if (curOrg != null)
                {
                    res.Add(curOrg);
                }
            }
            return(res.ToList());
        }
Example #6
0
 public string RemoveDepartmentOrOrganization(int id, string nameTable)
 {
     try
     {
         if (nameTable == "Department")
         {
             var item = Departments.FirstOrDefault(i => i.DepartmentID == id);
             Departments.Remove(item);
         }
         else if (nameTable == "Organization")
         {
             var item = Organizations.FirstOrDefault(i => i.OrganizationID == id);
             Organizations.Remove(item);
         }
         SaveChanges();
         return("Запись успешно удалена");
     }
     catch (Exception ex) { return(ex.Message); }
 }
Example #7
0
 public string EditDepartmentOrOrganization(int id, string title, string nameTable)
 {
     try
     {
         if (nameTable == "Department")
         {
             var item = Departments.FirstOrDefault(i => i.DepartmentID == id);
             item.Title = title;
         }
         else if (nameTable == "Organization")
         {
             var item = Organizations.FirstOrDefault(i => i.OrganizationID == id);
             item.Title = title;
         }
         SaveChanges();
         return("Запись успешно изменена");
     }
     catch (Exception ex) { return(ex.Message); }
 }
Example #8
0
        private async void OnDeleteGroup(Organization organization)
        {
            var result = await DialogHelper.ShowDialog(DialogType.Validation, "Are you sure you want to remove contact?");

            if (result)
            {
                DeletedGroups.Add(Student.RelOrganizations.SingleOrDefault(i => i.OrganizationID == organization.OrganizationID));
                Student.RelOrganizations.Remove(Student.RelOrganizations.SingleOrDefault(i => i.OrganizationID == organization.OrganizationID));
                Student.Organizations.Remove(Student.Organizations.SingleOrDefault(i => i.OrganizationID == organization.OrganizationID));
                Organizations.Add(_organizationsRepository.GetOrganization(organization.OrganizationID));
            }

            if (Organizations.Count != 0)
            {
                SelectedGroupId = Organizations.FirstOrDefault().OrganizationID;
            }
            else
            {
                SelectedGroupId = new Guid();
            }

            AddGroupCommand.RaiseCanExecuteChanged();
        }
Example #9
0
 public string EditPeople(int id, string firstName, string lastName, string middleName, string phone, string phoneVoIP, int idDep, int IdOrg, int IdPos)
 {
     try
     {
         var item = Peoples.FirstOrDefault(i => i.PeopleID == id);
         Departments.FirstOrDefault(i => i.DepartmentID == item.DepartmentID).People.Remove(item);
         Organizations.FirstOrDefault(i => i.OrganizationID == item.OrganizationID).People.Remove(item);
         Positions.FirstOrDefault(i => i.PositionID == item.PositionID).People.Remove(item);
         item.FirstName      = firstName;
         item.LastName       = lastName;
         item.MiddleName     = middleName;
         item.Phone          = phone;
         item.PhoneVoIP      = phoneVoIP;
         item.PositionID     = IdPos;
         item.OrganizationID = IdOrg;
         item.DepartmentID   = idDep;
         Departments.FirstOrDefault(i => i.DepartmentID == idDep).People.Add(item);
         Organizations.FirstOrDefault(i => i.OrganizationID == IdOrg).People.Add(item);
         Positions.FirstOrDefault(i => i.PositionID == IdPos).People.Add(item);
         SaveChanges();
         return("Запись успешно изменена");
     }
     catch (Exception ex) { return(ex.Message); }
 }
Example #10
0
 public string AddPeople(string firstName, string lastName, string middleName, string phone, string phoneVoIP, int idDep, int IdOrg, int IdPos)
 {
     try
     {
         People people = new People()
         {
             FirstName      = firstName,
             LastName       = lastName,
             MiddleName     = middleName,
             Phone          = phone,
             PhoneVoIP      = phoneVoIP,
             PositionID     = IdPos,
             OrganizationID = IdOrg,
             DepartmentID   = idDep,
         };
         Peoples.Add(people);
         Departments.FirstOrDefault(i => i.DepartmentID == idDep).People.Add(people);
         Organizations.FirstOrDefault(i => i.OrganizationID == IdOrg).People.Add(people);
         Positions.FirstOrDefault(i => i.PositionID == IdPos).People.Add(people);
         SaveChanges();
         return("Запись успешно добавлена");
     }
     catch (Exception ex) { return(ex.Message); }
 }
Example #11
0
        public async override Task SetContextAsync(ClaimsPrincipal user)
        {
            var nameId = user.FindFirstValue(ClaimTypes.NameIdentifier);

            if (Guid.TryParse(nameId, out var nameIdGuid))
            {
                UserId = nameIdGuid;
            }

            if (!UserId.HasValue)
            {
                return;
            }

            // TODO: maybe make loading orgs Lazy<T> somehow?
            var orgUserRepo = _serviceProvider.GetRequiredService <IOrganizationUserRepository>();
            var userOrgs    = await orgUserRepo.GetManyDetailsByUserAsync(UserId.Value,
                                                                          Core.Enums.OrganizationUserStatusType.Confirmed);

            OrganizationsDetails = userOrgs.ToList();
            Organizations        = userOrgs.Select(ou => new CurrentContentOrganization
            {
                Id   = ou.OrganizationId,
                Type = ou.Type
            }).ToList();

            if (SelectedOrganizationId == null && HttpContext.Request.Cookies.ContainsKey("SelectedOrganization") &&
                Guid.TryParse(HttpContext.Request.Cookies["SelectedOrganization"], out var selectedOrgId))
            {
                SelectedOrganizationId      = Organizations.FirstOrDefault(o => o.Id == selectedOrgId)?.Id;
                SelectedOrganizationDetails = OrganizationsDetails.FirstOrDefault(
                    o => o.OrganizationId == SelectedOrganizationId);
            }

            if (DeviceIdentifier == null && HttpContext.Request.Cookies.ContainsKey("DeviceIdentifier"))
            {
                DeviceIdentifier = HttpContext.Request.Cookies["DeviceIdentifier"];
            }

            DeviceType = Core.Enums.DeviceType.UnknownBrowser;
            if (HttpContext.Request.Headers.ContainsKey("User-Agent"))
            {
                var userAgent = HttpContext.Request.Headers["User-Agent"].ToString();
                if (userAgent.Contains(" Firefox/") || userAgent.Contains(" Gecko/"))
                {
                    DeviceType = Core.Enums.DeviceType.FirefoxBrowser;
                }
                else if (userAgent.IndexOf(" OPR/") >= 0)
                {
                    DeviceType = Core.Enums.DeviceType.OperaBrowser;
                }
                else if (userAgent.Contains(" Edge/"))
                {
                    DeviceType = Core.Enums.DeviceType.EdgeBrowser;
                }
                else if (userAgent.Contains(" Vivaldi/"))
                {
                    DeviceType = Core.Enums.DeviceType.VivaldiBrowser;
                }
                else if (userAgent.Contains(" Safari/") && !userAgent.Contains("Chrome"))
                {
                    DeviceType = Core.Enums.DeviceType.SafariBrowser;
                }
                else if (userAgent.Contains(" Chrome/"))
                {
                    DeviceType = Core.Enums.DeviceType.ChromeBrowser;
                }
                else if (userAgent.Contains(" Trident/"))
                {
                    DeviceType = Core.Enums.DeviceType.IEBrowser;
                }
            }
        }
Example #12
0
        /// <summary>
        /// Initialization users, groups and organizations collections. Initialization links between these entities
        /// </summary>
        private void Fill()
        {
            Users.Clear();
            FilteredUsers.Clear();
            var users = _userService.GetAllSorted(false)?.ToList();

            if (users == null || !users.Any())
            {
                return;
            }
            users.Sort((u1, u2) => u1.UserName.CompareTo(u2.UserName));
            users.ForEach(u => Users.Add(new UserViewModel(u)));
            FilteredUsers  = new ObservableCollection <UserViewModel>(Users);
            FilteredUsers2 = new ObservableCollection <UserViewModel>(Users);

            Groups.Clear();
            var groups = _groupService.GetAllSortedByName()?.ToList();

            if (groups == null || !groups.Any())
            {
                return;
            }
            groups.ForEach(g => Groups.Add(new GroupViewModel(g)));
            foreach (var u in Users)
            {
                var gs = _groupService.GetAllByUserId(u.UserId)?.ToList();
                if (gs == null || !gs.Any())
                {
                    continue;
                }
                gs.ForEach(g =>
                {
                    var groupViewModel = Groups.FirstOrDefault(gVm => gVm.GroupId == g.GroupId);
                    if (groupViewModel == null)
                    {
                        return;
                    }
                    u.Groups.Add(groupViewModel);
                    groupViewModel.Users.Add(u);
                });
            }

            Organizations.Clear();
            var organizations = _organizationService.GetAll()?.ToList();

            if (organizations == null || !organizations.Any())
            {
                return;
            }
            organizations.ForEach(o => Organizations.Add(new OrganizationViewModel(o)));
            foreach (var u in Users)
            {
                var orgs = _organizationService.GetByUserId(u.UserId)?.ToList();
                if (orgs == null || !orgs.Any())
                {
                    continue;
                }
                orgs.ForEach(o =>
                {
                    var orgViewModel = Organizations.FirstOrDefault(oVm => oVm.OrganizationId == o.Id);
                    if (orgViewModel == null)
                    {
                        return;
                    }
                    u.Organizations.Add(orgViewModel);
                    orgViewModel.Users.Add(u);
                });
            }
        }
        public ActionResult Add(ProjectModel model)
        {
            ViewBag.Organizations    = Organizations;
            ViewBag.HasOrganizations = Organizations.Any();
            ViewBag.TimeZones        = TimeZoneInfo.GetSystemTimeZones();

            #region Validation

            Organization organization = null;

            if (!String.IsNullOrEmpty(model.OrganizationName))
            {
                Organization existing = Organizations.FirstOrDefault(o => o.Name == model.OrganizationName);
                organization = existing ?? new Organization {
                    Name = model.OrganizationName.Trim()
                };
            }
            else if (!String.IsNullOrEmpty(model.OrganizationId))
            {
                organization = Organizations.FirstOrDefault(o => o.Id == model.OrganizationId);
                ModelState state = ModelState["OrganizationName"];
                if (state != null)
                {
                    state.Errors.Clear();
                }
            }

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            if (organization == null)
            {
                ModelState.AddModelError("OrganizationName", "Organization Name is required.");
                return(View(model));
            }

            if (!String.IsNullOrEmpty(organization.Id) && Projects.Count(p => p.OrganizationId == organization.Id && String.Equals(p.Name, model.Name, StringComparison.OrdinalIgnoreCase)) > 0)
            {
                ModelState.AddModelError("Name", "A project with this name already exists.");
                return(View(model));
            }

            #endregion

            var user = GetUser();
            if (String.IsNullOrEmpty(organization.Id))
            {
                if (!_billingManager.CanAddOrganization(user))
                {
                    ModelState.AddModelError(String.Empty, "Please upgrade your plan to add an additional organization.");
                    return(View(model));
                }

                _billingManager.ApplyBillingPlan(organization, Settings.Current.EnableBilling ? BillingManager.FreePlan : BillingManager.UnlimitedPlan, user);
                organization = _organizationRepository.Add(organization, true);

                user.OrganizationIds.Add(organization.Id);
                _userRepository.Save(user);
            }

            var project = new Project {
                Name = model.Name, TimeZone = model.TimeZone, OrganizationId = organization.Id
            };
            project.NextSummaryEndOfDayTicks = TimeZoneInfo.ConvertTime(DateTime.Today.AddDays(1), project.DefaultTimeZone()).ToUniversalTime().Ticks;
            project.ApiKeys.Add(Guid.NewGuid().ToString("N").ToLower());
            project.AddDefaultOwnerNotificationSettings(user.Id);

            if (!_billingManager.CanAddProject(project))
            {
                ModelState.AddModelError(String.Empty, "Please upgrade your plan to add an additional project.");
                return(View(model));
            }

            project = _projectRepository.Add(project);
            _organizationRepository.IncrementStats(project.OrganizationId, projectCount: 1);

            return(RedirectToAction("Configure", "Project", new { id = project.Id }));
        }
Example #14
0
 public Organization GetOrganization(MapObject item)
 {
     return(Organizations.FirstOrDefault(x => x.OrganizationMapObject.Select(z => z.MapObjectID).Contains(item.MapObjectID)));
 }
Example #15
0
        //Заполнение всех списков значениями
        private async void GetTables() => await Task.Run(() =>
        {
            Organizations = (List <Organization>)NirsSystem.GetListObject <Organization>();
            if (Organizations == null)
            {
                Organizations = new List <Organization>();
            }
            Organizations.Insert(0, new Organization {
                OrganizationId = 0, OrganizationName = "(пусто)"
            });
            SelectedOrganization = Organizations.FirstOrDefault(u => u.OrganizationId == _author.OrganizationId);
            OnPropertyChanged("Organizations");
            OnPropertyChanged("SelectedOrganization");

            Faculties = (List <Faculty>)NirsSystem.GetListObject <Faculty>();
            if (Faculties == null)
            {
                Faculties = new List <Faculty>();
            }
            Faculties.Insert(0, new Faculty {
                FacultyId = 0, FacultyName = "(пусто)"
            });
            SelectedFaculty = Faculties.FirstOrDefault(u => u.FacultyId == _author.FacultyId);
            OnPropertyChanged("Faculties");
            OnPropertyChanged("SelectedFaculty");

            Departments = (List <Department>)NirsSystem.GetListObject <Department>();
            if (Departments == null)
            {
                Departments = new List <Department>();
            }
            Departments.Insert(0, new Department {
                DepartmentId = 0, DepartmentName = "(пусто)"
            });
            SelectedDepartment = Departments.FirstOrDefault(u => u.DepartmentId == _author.DepartmentId);
            OnPropertyChanged("Departments");
            OnPropertyChanged("SelectedDepartment");

            Groups = (List <Group>)NirsSystem.GetListObject <Group>();
            if (Groups == null)
            {
                Groups = new List <Group>();
            }
            Groups.Insert(0, new Group {
                GroupId = 0, GroupName = "(пусто)"
            });
            SelectedGroup = Groups.FirstOrDefault(u => u.GroupId == _author.GroupId);
            OnPropertyChanged("Groups");
            OnPropertyChanged("SelectedGroup");

            Positions = (List <Position>)NirsSystem.GetListObject <Position>();
            if (Positions == null)
            {
                Positions = new List <Position>();
            }
            Positions.Insert(0, new Position {
                PositionId = 0, PositionName = "(пусто)"
            });
            SelectedPosition = Positions.FirstOrDefault(u => u.PositionId == _author.PositionId);
            OnPropertyChanged("Positions");
            OnPropertyChanged("SelectedPosition");

            AcademicDegrees = (List <AcademicDegree>)NirsSystem.GetListObject <AcademicDegree>();
            if (AcademicDegrees == null)
            {
                AcademicDegrees = new List <AcademicDegree>();
            }
            AcademicDegrees.Insert(0, new AcademicDegree {
                AcademicDegreeId = 0, AcademicDegreeName = "(пусто)"
            });
            SelectedAcademicDegree = AcademicDegrees.FirstOrDefault(u => u.AcademicDegreeId == _author.AcademicDegreeId);
            OnPropertyChanged("AcademicDegrees");
            OnPropertyChanged("SelectedAcademicDegree");
        });
Example #16
0
 private string GetWorkLogOrganization(WorkLog workLog)
 {
     return(Organizations.FirstOrDefault(s => s.Id == workLog.OrganizationId)?.Name ?? "Unknown");
 }