/// <summary> /// Function to save a UserActionEntity to the database. /// </summary> /// <param name="userActionEntity">UserActionEntity to save</param> /// <param name="session">User's session identifier.</param> /// <returns>null if the UserActionEntity was saved successfully, the same UserActionEntity otherwise</returns> /// <exception cref="ArgumentNullException"> /// if <paramref name="userActionEntity"/> is null. /// </exception> /// <exception cref="UtnEmallBusinessLogicException"> /// If an UtnEmallDataAccessException occurs in DataModel. /// </exception> public UserActionEntity Save(UserActionEntity userActionEntity, string session) { bool permited = ValidationService.Instance.ValidatePermission(session, "save", "UserAction"); if (!permited) { ExceptionDetail detail = new ExceptionDetail(new UtnEmall.Server.BusinessLogic.UtnEmallPermissionException("The user hasn't permissions to save an entity")); throw new FaultException <ExceptionDetail>(detail); } if (!Validate(userActionEntity)) { return(userActionEntity); } try { // Save userActionEntity using data access object useractionDataAccess.Save(userActionEntity); return(null); } catch (UtnEmallDataAccessException utnEmallDataAccessException) { throw new UtnEmall.Server.BusinessLogic.UtnEmallBusinessLogicException(utnEmallDataAccessException.Message, utnEmallDataAccessException); } }