/// <summary> /// Adds one division to Chronos /// </summary> /// <param name="Head">Authorization header with current user information</param> /// <param name="Division">Division entity with the data to add</param> /// <exception cref="Chronos.Exceptions.ChronosException">Thrown when an unknown error occurs.</exception> /// <exception cref="Chronos.Exceptions.DataAlreadyExistsException">Thrown when the company already exists.</exception> /// <exception cref="Chronos.Exceptions.NotAuthorizedException">Throws this exception when the user is not allowed to use this function.</exception> public void AddDivision(AuthHead Head, DivisionEntity Division) { Head.CommandID = "CHRONOS.MODULES.CORE.FOUNDATION.DIVISIONSERVICE"; Head.CommandOptionID = "ADDDIVISION"; if (userService.CanDoIt(Head)) { if ((from division in dataConn.Divisions where division.CompanyID == Division.CompanyID && division.DivisionID == Division.DivisionID select division).Count() == 0) { Divisions newDivision = new Divisions(); newDivision.CompanyID = Division.CompanyID; newDivision.DivisionID = Division.DivisionID; newDivision.Name = Division.Name; newDivision.Description = Division.Description; dataConn.Divisions.Add(newDivision); if (dataConn.SaveChanges() <= 0) { throw new ChronosException("It wasn't possible to add the new division."); } } else { throw new DataAlreadyExistsException(); } } else { throw new NotAuthorizedException(); } }
/// <summary> /// Edits the provided division /// </summary> /// <param name="Division">Division entity with the data to edit</param> /// <exception cref="Chronos.Exceptions.ChronosException">Thrown when an unknown error occurs.</exception> /// <exception cref="Chronos.Exceptions.NotAuthorizedException">Throws this exception when the user is not allowed to use this function.</exception> public void EditDivision(AuthHead Head, DivisionEntity Division) { Head.CommandID = "CHRONOS.MODULES.CORE.FOUNDATION.DIVISIONSERVICE"; Head.CommandOptionID = "EDITDIVISION"; if (userService.CanDoIt(Head)) { var varDivision = (from division in dataConn.Divisions where division.CompanyID == Division.CompanyID && division.DivisionID == Division.DivisionID select division).FirstOrDefault(); if (varDivision != null) { varDivision.Name = Division.Name; varDivision.Description = Division.Description; if (dataConn.SaveChanges() <= 0) { throw new ChronosException("It wasn't possible to save the changes in the company."); } } else { throw new DataNotFoundException("The specified company do not exist."); } } else { throw new NotAuthorizedException(); } }
/// <summary> /// Gets the division for the given Division ID /// </summary> /// <param name="CompanyID">Company ID of the division</param> /// <param name="DivisionID">Division ID to get</param> /// <returns>Selected company</returns> public DivisionEntity GetDivision(string CompanyID, string DivisionID) { if (DivisionID == "") { DivisionID = "ALL"; } var varDivision = ( from division in dataConn.Divisions where division.CompanyID == CompanyID && division.DivisionID == DivisionID select division ).FirstOrDefault(); if (varDivision == null) { return null; } else { Models.DivisionEntity divisionReturn = new Models.DivisionEntity(); divisionReturn.CompanyID = varDivision.CompanyID; divisionReturn.DivisionID = varDivision.DivisionID; divisionReturn.Description = varDivision.Description; divisionReturn.Name = varDivision.Name; return divisionReturn; } }