/// <summary> /// /// </summary> /// <param name="data"></param> /// <returns></returns> public async Task <List <TeamUsers> > Edit(IEditTeamUsers data) { var teamUsers = new List <TeamUsers>(); data.TeamIds = data.TeamIds.Distinct().ToList(); foreach (var userId in data.UserIds) { var existData = await _context.TeamUsers.Find(f => f.CompanyId == data.CompanyId && f.UserId == userId).FirstOrDefaultAsync(); if (existData != null) { var newTeamIds = data.TeamIds.Union(existData.TeamIds).ToList(); var filter = Builders <TeamUsers> .Filter.Eq("Id", existData.Id); var update = Builders <TeamUsers> .Update .Set(s => s.TeamIds, newTeamIds) .Set(s => s.UpdatedBy, data.CreatedBy) .CurrentDate(s => s.UpdatedAt); var options = new FindOneAndUpdateOptions <TeamUsers> { ReturnDocument = ReturnDocument.After }; var teamUser = await _context.TeamUsers.FindOneAndUpdateAsync(filter, update, options); teamUsers.Add(teamUser); } else { var teamUser = new TeamUsers() { CompanyId = data.CompanyId, TeamIds = data.TeamIds, UserId = userId, CreatedAt = DateTime.UtcNow, CreatedBy = data.CreatedBy }; await _context.TeamUsers.InsertOneAsync(teamUser); teamUsers.Add(teamUser); } } return(teamUsers); }
/// <summary> /// Inserts the new Team mapping or updates an existing Team mapping. /// </summary> /// <param name="objTeamUser">Instance of TeamUsers</param> /// <returns>Unique mapping Id.</returns> public static int SaveUserMapping(TeamUsers objTeamUser) { int MappingId = -1; using (OracleConnection conn = ConnectionDB.GetOracleConnection()) { using (OracleCommand command = conn.CreateCommand()) { command.CommandText = "USER_MANAGEMENT.SAVE_TEAM_USER"; command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("Return_Value", OracleDbType.Int16, ParameterDirection.ReturnValue); command.Parameters.Add("PIN_TEAM_USER_ID", OracleDbType.Int32, objTeamUser.TeamUserId, ParameterDirection.Input); command.Parameters.Add("PIC_MODULE", OracleDbType.Varchar2, objTeamUser.Module, ParameterDirection.Input); command.Parameters.Add("PIN_PRJ_MGR_UR_ID", OracleDbType.Int32, objTeamUser.PrjMgrUrId, ParameterDirection.Input); command.Parameters.Add("PIN_DELY_MGR_UR_ID", OracleDbType.Int32, objTeamUser.DelyMgrUrId, ParameterDirection.Input); command.Parameters.Add("PIN_MOD_HEAD_UR_ID", OracleDbType.Int32, objTeamUser.QualAnlstUrId, ParameterDirection.Input); command.Parameters.Add("PIN_TEAM_LDR_UR_ID", OracleDbType.Int32, objTeamUser.TeamLdrUrId, ParameterDirection.Input); command.Parameters.Add("PIN_QUAL_ANLST_UR_ID", OracleDbType.Char, objTeamUser.QualAnlstUrId, ParameterDirection.Input); command.Parameters.Add("PIN_REV_ANLST_UR_ID", OracleDbType.Char, objTeamUser.RevAnlstUrId, ParameterDirection.Input); command.Parameters.Add("PIN_ANLST_UR_ID", OracleDbType.Char, objTeamUser.AnlstUrId, ParameterDirection.Input); command.Parameters.Add("PIN_TSK_PREP_UR_ID", OracleDbType.Char, objTeamUser.TaskPrepUrId, ParameterDirection.Input); command.Parameters.Add("PIC_IS_ACTIVE", OracleDbType.Char, objTeamUser.IsActive, ParameterDirection.Input); command.Parameters.Add("PIN_CREATED_BY", OracleDbType.Char, objTeamUser.CreatedBy, ParameterDirection.Input); try { conn.OpenConnection(); command.ExecuteNonQuery(); MappingId = command.Parameters["Return_Value"].Value != null?Convert.ToInt32(command.Parameters["Return_Value"].Value.ToString()) : -1; //Convert.ToInt32(oCmd.Parameters["Return_Value"].Value.ToString()); conn.Close(); } catch (Exception) { throw; } } } return(MappingId); }