public int GetCountOfActiveParticipants(OrganizationalUnit organizationalUnit) { var db = new DbManager("..."); db.CreateCommand("[dbo].[spr_CoursesByOrganizationalUnit]"); db.AddIntegerParameter("ouId", organizationalUnit.Id); var courses = db.ExecuteDataTable().To <IEnumerable <Course> >(); int counter = 0; foreach (var course in courses) { var activeParticipants = course .Participants .Where(x => x.IsA && x.IsB || x.IsC); counter += activeParticipants.Count(); if (course.Name.Length > 150) { throw new InvalidOperationException($"Course {course.Id} Name is too long."); } } return(counter); }
public async Task <IActionResult> PutOrganizationalUnit([FromRoute] Guid id, [FromBody] OrganizationalUnit organizationalUnit) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != organizationalUnit.Id) { return(BadRequest()); } _context.Entry(organizationalUnit).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!OrganizationalUnitExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public List <OrganizationalUnit> GetChildOUs(string ldapPath, OrganizationalUnit parentOU) { var childOUs = new List <OrganizationalUnit>(); var childEntry = new DirectoryEntry(ldapPath); var childSearcher = new DirectorySearcher(childEntry) { Filter = ("(objectCategory=organizationalUnit)"), SearchScope = SearchScope.OneLevel }; foreach (SearchResult childResult in childSearcher.FindAll()) { var childOU = new OrganizationalUnit { Name = childResult.Properties["ou"][0].ToString(), LdapPath = childResult.Path, ADDomainRefId = parentOU.ADDomainRefId }; childOU.SubOrganizationalUnits = GetChildOUs(childOU.LdapPath, childOU); childOUs.Add(childOU); unitOfWork.OrganizationalUnitRepository.Add(childOU); } return(childOUs); }
static void UpdateProgram(Guid organizationalUnitGuid) { ServiceFactory factory = new ServiceFactory(); IOrganizationalUnitService ouService = factory.CreateOrganizationalUnitService(); var oUnit = new OrganizationalUnit(); // the following are required fields. oUnit.OrganizationalUnitGuid = new Guid(organizationalUnitGuid.ToString()); oUnit.Name = "Updated Organization Unit"; // the following are optional. bool success = ouService.Update(oUnit); if (!success) { Console.WriteLine("ErrorCode: " + ouService.LastError.ErrorCode); Console.WriteLine("ErrorMessage: " + ouService.LastError.ErrorCodeString); } else { Console.WriteLine(string.Format("User {0} was updated.", oUnit.Name)); } }
public ActionResult Edit(int?id) { OrganizationalUnit obj = OrganizationalUnitService.GetEdit((int)id); HelperMethod(obj); return(PartialView(obj)); }
private void CreateNewPortalOrgUnit(DirectoryEntry entry, string parentPath, Guid guid, SyncTree syncTree) { try { AdLog.LogADObject(string.Format("New portal orgunit - creating under {0}", parentPath), entry.Path); OrganizationalUnit newOu = new OrganizationalUnit(Node.LoadNode(parentPath)); UpdatePortalOrgUnitProperties(entry, newOu, syncTree); Common.UpdateLastSync(newOu, guid); //newOu.Save(); - update lastsync already saves node if (_portalContainers != null) { if (!_portalContainers.ContainsKey(guid.ToString())) { _portalContainers.Add(guid.ToString(), newOu.Id); } } } catch (Exception ex) { AdLog.LogException(ex); } }
public ActionResult Create() { OrganizationalUnit obj = new OrganizationalUnit(); HelperMethod(obj); return(View(obj)); }
/// <summary> /// Metodo para eliminar el supervisor de una unidad organizacional /// </summary> /// <returns>Retorna un entero</returns> /// <param name="organizationalUnit">Unidad Organizacional a la cual se le eliminara el supervisor</param> public int RemoveUnitOverseer(OrganizationalUnit organizationalUnit) { List <ParameterDB> parameters = new List <ParameterDB>(); try { parameters.Add(new ParameterDB(HRMResources.idou, SqlDbType.Int, organizationalUnit.id.ToString(), false)); parameters.Add(new ParameterDB(HRMResources.exitvalue, SqlDbType.Int, true)); List <ResultDB> results = ExecuteStoredProcedure(HRMResources.RemoveOrganizationalUnitOverseerStoredProcedure, parameters); int result = Int32.Parse(results[0].value); return(result); } catch (SqlException ex) { throw ex; } catch (NullReferenceException ex) { throw ex; } catch (ArgumentNullException ex) { throw ex; } catch (Exception ex) { throw ex; } }
private OrganizationalUnit GetOUList() { ActiveDirectory _ad = new ActiveDirectory(); OrganizationalUnit rootOU = _ad.GetRootOU(); return(rootOU); }
/// <summary> /// Metodo para obtener la informacion las cuentas, cursos o permisos de la base de datos /// </summary> /// <returns>Retorna un entero</returns> /// <param name="acpToConsult">Cuenta/Curso/Permiso del cual se obtiene la informacion</param> public AccountCoursePermit GetAccountCoursePermit(AccountCoursePermit acpToConsult) { List <ParameterDB> parameters = new List <ParameterDB>(); AccountCoursePermit accountCoursePermit = null; DataTable dataTable = new DataTable(); try { parameters.Add(new ParameterDB(ACPResources.id, SqlDbType.VarChar, acpToConsult.id.ToString(), false)); dataTable = ExecuteConsultStoredProcedure(ACPResources.GetAccountCoursePermitStoredProcedure, parameters); DataRow row = dataTable.Rows[0]; string typeStringFormat = "No Facturable"; int typeNumeric = Int32.Parse(row["TYPE"].ToString()); if (typeNumeric == 1) { typeStringFormat = "Facturable"; } Employee employee = new Employee(Int32.Parse(row["EID"].ToString()), row["EFIRSTNAME"].ToString(), row["ELASTNAME"].ToString()); accountCoursePermit = new AccountCoursePermit(row["ACPID"].ToString(), row["NAME"].ToString(), typeNumeric, typeStringFormat, Convert.ToDateTime(row["INITDATE"].ToString()), Convert.ToDateTime(row["ENDDATE"].ToString()), Int32.Parse(row["STATUS"].ToString()), employee); List <CostCenter> costCenters = new List <CostCenter>(); foreach (DataRow unitRow in dataTable.Rows) { try { OrganizationalUnit organizationalUnit = new OrganizationalUnit(Int32.Parse(unitRow["OUID"].ToString()), unitRow["OUNAME"].ToString()); CostCenter costCenter = new CostCenter(organizationalUnit, unitRow["ACPID"].ToString()); costCenters.Add(costCenter); } catch (Exception ex) { return(null); } } accountCoursePermit.associatedUnits = costCenters; return(accountCoursePermit); } catch (SqlException ex) { throw ex; } catch (NullReferenceException ex) { throw ex; } catch (ArgumentNullException ex) { throw ex; } catch (Exception ex) { throw ex; } }
/// <summary> /// Updates an existing organizational unit to the given values. /// </summary> /// <param name="updatedUnit">The updated unit.</param> /// <returns>MethodResult indicating success.</returns> public MethodResult UpdateOrganizationalUnit(OrganizationalUnit updatedUnit) { var adapter = DatabaseAdapterFactory.GetControllerInstance <IClipperDatabase>(); if (updatedUnit.IsPrincipalUnit) { var current = adapter.GetOrganizationalUnitById(updatedUnit.Id); if (current.AdminMailAddress != updatedUnit.AdminMailAddress) { var user = adapter.GetUserByMailAddress(current.AdminMailAddress); var tempResult = new UserController().ChangeMailAddress(user, updatedUnit.AdminMailAddress); if (!tempResult.IsSucceeded()) { return(tempResult); } tempResult = new UserController().ResetPassword(updatedUnit.AdminMailAddress); if (!tempResult.IsSucceeded()) { return(tempResult); } } if (current.Name == updatedUnit.Name) { return(new MethodResult()); } } return(adapter.RenameOrganizationalUnit(updatedUnit.Id, updatedUnit.Name)); }
public bool Delete(OrganizationalUnit orgUnit) { try { CredentialRepository credential = new CredentialRepository(_mySQLContext); credential.DN = orgUnit.DistinguishedName; DirectoryEntry dirEntry = new DirectoryEntry(credential.Path, credential.User, credential.Pass); DirectorySearcher search = new DirectorySearcher(dirEntry); search.Filter = ("distinguishedname=" + orgUnit.DistinguishedName); DirectoryEntry orgUnitFind = (search.FindOne()).GetDirectoryEntry(); if (orgUnitFind != null) { orgUnitFind.DeleteTree(); return(true); } else { return(false); } } catch (System.DirectoryServices.DirectoryServicesCOMException e) { Console.WriteLine("\r\nUnexpected exception occurred:\r\n\t" + e.GetType() + ":" + e.Message); return(false); } }
static Guid CreateProgram() { ServiceFactory factory = new ServiceFactory(); IOrganizationalUnitService ouService = factory.CreateOrganizationalUnitService(); var program = new OrganizationalUnit(); // the following are required fields. program.Name = "A sample program created by API"; program.Abbreviation = "TPCBA"; program.IsProgram = true; // the following are optional fields. Guid guid = ouService.Create(program); bool success = guid != Guid.Empty; if (!success) { Console.WriteLine("ErrorCode: " + ouService.LastError.ErrorCode); Console.WriteLine("ErrorMessage: " + ouService.LastError.ErrorCodeString); return(Guid.Empty); } else { Console.WriteLine(string.Format("Program {0} was created.", program.Name)); return(guid); } }
private void OUAdd_Click(object sender, RoutedEventArgs e) { OrganizationalUnit newOU = null; var selected = AdministrationOUList.SelectedItems; foreach (var item in selected) { newOU = new OrganizationalUnit( -1, "newOU", "", null, new ExtendedObservableCollection <TileableElement>(), null); if (item is OrganizationalUnit) { (item as OrganizationalUnit).Elements.AddOnUI(newOU); } } if (selected.Count > 0) { AdministrationOUList.SelectedItems.Clear(); AdministrationOUList.SelectedItems.Add(newOU); } }
public void OrganizationalUnit_Constructor() { Node parent = Repository.Root; OrganizationalUnit target = new OrganizationalUnit(parent); Assert.IsNotNull(target, "1. OrganizationalUnit is null."); }
public ActionResult DeleteConfirmed(int id) { OrganizationalUnit organizationalUnit = db.OrganizationalUnits.Find(id); db.OrganizationalUnits.Remove(organizationalUnit); db.SaveChanges(); return(RedirectToAction("Index")); }
public int GetCountOfActiveParticipants(OrganizationalUnit organizationalUnit) { var courses = courseRepository.GetByOwner(organizationalUnit); return(courses .Select(c => c.ActiveParticipants.Count) .Sum()); }
public OrganizationalUnit Update(OrganizationalUnit orgUnit) { try { CredentialRepository credential = new CredentialRepository(_mySQLContext); credential.DN = orgUnit.DistinguishedName; DirectoryEntry dirEntry = new DirectoryEntry(credential.Path, credential.User, credential.Pass); DirectorySearcher search = new DirectorySearcher(dirEntry); search.Filter = ("ou=" + orgUnit.SamAccountName); SearchResult result = search.FindOne(); if (result != null) { DirectoryEntry newOrganizationalUnit = result.GetDirectoryEntry(); if (!String.IsNullOrWhiteSpace(orgUnit.Description)) { newOrganizationalUnit.Properties["description"].Value = orgUnit.Description; } if (!String.IsNullOrWhiteSpace(orgUnit.City)) { newOrganizationalUnit.Properties["l"].Value = orgUnit.City; } if (!String.IsNullOrWhiteSpace(orgUnit.State)) { newOrganizationalUnit.Properties["st"].Value = orgUnit.State; } if (!String.IsNullOrWhiteSpace(orgUnit.State)) { newOrganizationalUnit.Properties["street"].Value = orgUnit.Street; } if (!String.IsNullOrWhiteSpace(orgUnit.State)) { newOrganizationalUnit.Properties["postalcode"].Value = orgUnit.PostalCode; } if (!String.IsNullOrWhiteSpace(orgUnit.State)) { newOrganizationalUnit.Properties["c"].Value = orgUnit.Country; } if (!String.IsNullOrWhiteSpace(orgUnit.State)) { newOrganizationalUnit.Properties["managedBy"].Value = orgUnit.Manager; } newOrganizationalUnit.CommitChanges(); dirEntry.Close(); newOrganizationalUnit.Close(); return(FindByName(credential, orgUnit.Name)); } else { Console.WriteLine("\r\nUser not identify:\r\n\t"); return(null); } } catch (System.DirectoryServices.DirectoryServicesCOMException e) { Console.WriteLine("\r\nUnexpected exception occurred:\r\n\t" + e.GetType() + ":" + e.Message); return(null); } }
/// <summary> /// Create a new organisation unit, if the given parent exist. /// </summary> /// <param name="name">Name of the new organisation unit</param> /// <param name="parentFQDN">FQDN of the parent of this organisation unit</param> public int CreateOU(string name, string parentFQDN, DateTime updateTime) { using (var dataContext = DataContextFactory.CreateDataContext()) { try { var newOU = new OrganizationalUnit(); newOU.Name = name; newOU.LastUpdate = updateTime.Ticks; if (parentFQDN == null || parentFQDN.Length < 1) { newOU.Parent = null; newOU.LastUpdate = null; newOU.FQDN = newOU.Name; } else { var existParent = (from p in dataContext.OrganizationalUnit let parent = p.FQDN == parentFQDN where parent orderby p.Parent ascending select p).FirstOrDefault(); if (existParent == null) { newOU.Parent = null; newOU.LastUpdate = null; newOU.FQDN = newOU.Name; } else { newOU.FQDN = existParent.FQDN + "." + name; newOU.Parent = existParent.ID; } } dataContext.OrganizationalUnit.InsertOnSubmit(newOU); dataContext.SubmitChanges(); return(newOU.ID); } catch (Exception e) { //parentFQDN isn't in the db var messageEx1 = new StringBuilder(); messageEx1.Append("OUManager_CreateOU: "); messageEx1.Append("creating OU" + name + " with parent " + parentFQDN + " failed. " + e.ToString()); MISD.Core.Logger.Instance.WriteEntry(messageEx1.ToString(), LogType.Exception); // exception is used in the Client-Webservice to return that this OU isn't available throw new InvalidOperationException("Create OU. The parent FQDN dosn't exist."); } } }
public IHttpActionResult GetById(int id) { OrganizationalUnit unit = _repository.GetById(id); if (unit == null) { return(NotFound()); } return(Ok(unit)); }
public ActionResult Edit([Bind(Include = "OrganizationalUnitID,UnitName")] OrganizationalUnit organizationalUnit) { if (ModelState.IsValid) { db.Entry(organizationalUnit).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(organizationalUnit)); }
public IHttpActionResult Post([FromBody] OrganizationalUnit organizationalUnit) { if (!ModelState.IsValid) { return(BadRequest()); } organizationalUnit.Id = OrganizationalUnit.GetNextId(_context); _context.OrganizationalUnits.Add(organizationalUnit); _context.SaveChanges(); return(Created(new Uri(Request.RequestUri + "/" + organizationalUnit.Id), organizationalUnit)); }
private void PopulateTreeview(OrganizationalUnit rootOU, TreeNode node) { foreach (OrganizationalUnit OU in rootOU.Childs) { TreeNode childNode = node.Nodes.Add(OU.Name); childNode.Name = OU.Name; childNode.Text += " (" + OU.ComputerCount + ")"; childNode.Tag = OU; PopulateTreeview(OU, childNode); } }
public ActionResult Create([Bind(Include = "OrganizationalUnitID,UnitName")] OrganizationalUnit organizationalUnit) { if (ModelState.IsValid) { db.OrganizationalUnits.Add(organizationalUnit); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(organizationalUnit)); }
public override void Execute() { try { DAOUnitManagement dao = new DAOUnitManagement(); result = dao.GetOverseerUnit(ouToConsult); } catch (Exception ex) { throw ex; } }
public async Task <IActionResult> PostOrganizationalUnit([FromBody] OrganizationalUnit organizationalUnit) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.OrganizationalUnits.Add(organizationalUnit); await _context.SaveChangesAsync(); return(CreatedAtAction("GetOrganizationalUnit", new { id = organizationalUnit.Id }, organizationalUnit)); }
public IEnumerable <OrganizationalUnit> GetOldestYoungest() { List <OrganizationalUnit> list = new List <OrganizationalUnit>(); OrganizationalUnit oldest = db.OrganizationalUnits.OrderBy(x => x.EstablishmentYear).First(); OrganizationalUnit youngest = db.OrganizationalUnits.OrderByDescending(x => x.EstablishmentYear).First(); list.Add(oldest); list.Add(youngest); return(list.OrderBy(x => x.EstablishmentYear)); }
/// <summary> /// Metodo que lista todas las unidades organizacionales /// </summary> /// <returns>Retorna una lista</returns> public List <OrganizationalUnit> GetAllOrganizationalUnits() { List <OrganizationalUnit> ouList = new List <OrganizationalUnit>(); DataTable dataTable = new DataTable(); try { dataTable = ExecuteConsultStoredProcedure(HRMResources.GetAllOrganizationalUnitsStoredProcedure); OrganizationalUnit ou = null; foreach (DataRow row in dataTable.Rows) { try { string employeeId = row["EMPLOYEEID"].ToString(); if (!employeeId.Equals("")) { ou = new OrganizationalUnit(Int32.Parse(row["OUID"].ToString()), row["OUNAME"].ToString(), Int32.Parse(row["EMPLOYEEID"].ToString())); } else { ou = new OrganizationalUnit(Int32.Parse(row["OUID"].ToString()), row["OUNAME"].ToString(), 0); } ouList.Add(ou); } catch (Exception ex) { return(null); } } return(ouList); } catch (SqlException ex) { throw ex; } catch (NullReferenceException ex) { throw ex; } catch (ArgumentNullException ex) { throw ex; } catch (Exception ex) { throw ex; } }
// GET api/OrganizationalUnit/5 public IHttpActionResult Get(int id) { OrganizationalUnit OUnitInDB = null; OUnitInDB = _context.OrganizationalUnits.FirstOrDefault(d => d.Id == id); if (OUnitInDB == null) { return(NotFound()); } return(Ok(OUnitInDB)); }
private void FillTreeview() { try { OrganizationalUnit rootOU = GetOUList(); _rootNode.Name = rootOU.Name; _rootNode.Text = rootOU.Name; this.PopulateTreeview(rootOU, _rootNode); } catch (Exception ex) { MessageBox.Show(_localize.GetLocalizedString("UnableToBrowseAD") + ex.Message); } }