Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }