Esempio n. 1
0
        public async Task <long> CreateTeam(CreateTeamModel model, string ownerId)
        {
            var existingTeam = await GetTeamByOwnerIdAndName(ownerId, model.Name);

            if (existingTeam != null)
            {
                throw new ArgumentException($"A Team with name '{model.Name}' already exists.");
            }

            await using var command = _connection.CreateCommand();
            command.CommandType     = CommandType.StoredProcedure;
            command.CommandText     = "CreateTeam";
            command.Parameters.AddWithValue("@OwnerId", ownerId);
            command.Parameters.AddWithValue("@Name", model.Name);

            if (_connection.State != ConnectionState.Open)
            {
                await _connection.OpenAsync();
            }
            var reader = await command.ExecuteReaderAsync(CommandBehavior.CloseConnection);

            await reader.ReadAsync();

            return((long)reader.GetDecimal(0));
        }
Esempio n. 2
0
        public async Task <Team> CreateTeam(CreateTeamModel model, int adminId)
        {
            var team = new Team
            {
                Name    = model.Name,
                AdminId = adminId
            };

            _db.Teams.Add(team);
            await _db.SaveChangesAsync();

            _db.UserTeams.AddRange(model.UserIds.Select(id => new UserTeam
            {
                UserId = id,
                TeamId = team.Id
            }));

            _db.UserTeams.Add(new UserTeam
            {
                UserId = adminId,
                TeamId = team.Id
            });

            await _db.SaveChangesAsync();

            var userTeams = await _db.UserTeams
                            .Include(ut => ut.User)
                            .Where(ut => ut.TeamId == team.Id)
                            .ToListAsync();

            team.UserTeams = userTeams;

            return(team);
        }
        public IHttpActionResult CreateTeams(CreateTeamModel model)
        {
            var players = _dbContext.Players
                          .Where(w => model.Guids.Contains(w.Guid))
                          .ToList();

            var teams = _creationService.CreateTeams(players, new List <Team> {
                new Team {
                    Name = "Blanc"
                }, new Team {
                    Name = "Orange"
                }
            });

            var viewModel = teams.Select(s => new TeamViewModel
            {
                Guid    = s.Guid,
                Name    = s.Name,
                Players = s.Players.Select(p => new PlayerViewModel
                {
                    FirstName    = p.FirstName,
                    Guid         = p.Guid,
                    GradeEnum    = p.Grade,
                    LastName     = p.LastName,
                    PositionEnum = p.Position,
                    PhoneNumber  = p.PhoneNumber
                }).ToList()
            }).ToList();

            return(Ok(viewModel));
        }
Esempio n. 4
0
        public ActionResult Create(CreateTeamModel model)
        {
            var newTeam = new Team()
            {
                Name = model.TeamBindingModel.Name,
                NickName = model.TeamBindingModel.NickName,
                WebSite = model.TeamBindingModel.Website,
                DateFounded = model.TeamBindingModel.DateFounded
            };

            this.Data.Teams.Add(newTeam);
            this.Data.SaveChanges();

            Player player = null;

            foreach (var playerName in model.TeamBindingModel.Players)
            {
                player = this.Data.Players.All()
                    .FirstOrDefault(p => p.Name == playerName);

                newTeam.Players.Add(player);
            }

            this.Data.SaveChanges();

            return this.RedirectToAction("Index", "Home");
        }
        public async Task <IActionResult> Create([FromBody] CreateTeamModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    throw new ArgumentException($"Validation failed. Please check data you entered");
                }

                var user = await _userManager.GetUserAsync(User);

                var res = await _dataAccess.CreateTeam(model, user.Id);

                return(Ok(new { TeamId = res }));
            }
            catch (Exception e)
            {
                _logger.LogError(e, "CreateTeam");
                if (_hostEnvironment.IsDevelopment())
                {
                    throw;
                }

                return(BadRequest(new { Error = e.Message }));
            }
        }
Esempio n. 6
0
        public async Task <CreateTeamModel> CreateTeam(string fullName, string shortName, string inviteEmail)
        {
            User currentUser = new User();

            try
            {
                CreateTeamModel model          = new CreateTeamModel();
                Team            teamToRetruned = new Team();
                TeamPlayer      tmPlayer       = new TeamPlayer();
                currentUser = App.Current.Properties["loggedUser"] as User;
                int userId = currentUser.Id;
                //mainCity = currentUser.City;
                var input = $"https://www.harbisaha.com/api/OpponentAdvert/CreateNewTeam?userId=" + userId + "&fullName=" + fullName + "&shortName=" + shortName + "&inviteEmail=" + inviteEmail;
                //var client = await GetClient();
                var client = await GetClient();

                var result = await client.GetStringAsync(input);

                model = JsonConvert.DeserializeObject <CreateTeamModel>((result));
                if (tmPlayer.Team != null)
                {
                    App.Current.Properties["loggedUserTeamPlayer"] = model.TeamPlayer;
                }
                return(model);
            }
            catch (Exception EX)
            {
                //return null;
                throw;
            }
        }
Esempio n. 7
0
    public IActionResult CreateTeam([FromBody] CreateTeamModel model)
    {
        var teamId  = Guid.NewGuid();
        var traceId = Guid.NewGuid();
        var team    = _clusterClient.GetGrain <ITeamGrain>(teamId);

        team.CreateAsync(new CreateTeam(model.Name, teamId, traceId, GetUserId));

        return(Created(teamId.ToString(), new ResourceResponse(teamId, traceId)));
    }
Esempio n. 8
0
        public async Task <IActionResult> Create([FromBody] CreateTeamModel model)
        {
            if (model.UserIds.Contains(_currentUser.Id))
            {
                throw new ApiException(400, "Invalid user id list", ErrorCode.InvalidRequestFormat);
            }

            var team = await _teamsService.CreateTeam(model, _currentUser.Id);

            return(Created($"api/teams/{team.Id}", _mapper.Map <TeamViewModel>(team)));
        }
        public IActionResult CreateTeam(CreateTeamModel createTeamModel)
        {
            OperationStatusInfo operationStatusInfo = _hubEnvironment.ServerHubConnector.CreateTeam(createTeamModel.Team).Result;

            if (operationStatusInfo.OperationStatus == OperationStatus.Done)
            {
                return(RedirectToAction("TeamList"));
            }
            else
            {
                return(View("CreateTeamPage", new CreateTeamModel(createTeamModel.Team)));
            }
        }
Esempio n. 10
0
        private async void BtnFinish_Clicked(object sender, EventArgs e)
        {
            if (!App.Current.Properties.ContainsKey("loggedUser"))
            {
                await DisplayAlert("HATA", "Lütfen giriş yapınız", "Tamam");

                await Navigation.PushAsync(new LoginPageMain());
            }
            else if (App.Current.Properties["loggedUserTeamPlayer"] != null)
            {
                await DisplayAlert("HATA", "Bir hata oluştu", "OK");

                App.Current.Properties.Remove("loggedUserTeamPlayer");
                App.Current.Properties.Remove("loggedUser");
                App.Current.MainPage = new NavigationPage(new IndexTabbedPages.IndexPageMain());
            }
            else
            {
                if (isSuccessName == false || isSuccessShortName == false)
                {
                    await DisplayAlert("UYARI", "Lütfen takım adını ve kısaltmasını kontrol edin", "Tamam");
                }
                else
                {
                    try
                    {
                        await Navigation.PushPopupAsync(new AnimationPopUpPage1_Waiting("Oluşturuluyor.."));

                        CreateTeamModel modelToReturn = await serviceTeam.CreateTeam(entryTeamName.Text, entryTeamShortName.Text, "abc");

                        await Navigation.PopPopupAsync();

                        if (modelToReturn.isSuccesful == true)
                        {
                            await DisplayAlert("Başarılı", modelToReturn.responseMessage, "OK");

                            App.Current.Properties["loggedUserTeamPlayer"] = modelToReturn.TeamPlayer;
                            App.Current.MainPage = new NavigationPage(new IndexPageMain());
                        }
                        else
                        {
                            await DisplayAlert("Hata", modelToReturn.responseMessage, "OK");
                        }
                    }
                    catch (Exception ex)
                    {
                        throw;
                    }
                }
            }
        }
Esempio n. 11
0
        public ActionResult Create()
        {
            var players = this.Data.Players.All()
                .Select(p =>
                new SelectListItem()
                {
                    Text = p.Name
                });
            var createTeamModel = new CreateTeamModel();

            createTeamModel.TeamBindingModel = new TeamBindingModel();
            createTeamModel.Players = players;
            createTeamModel.TeamBindingModel.Players = new List<string>();

            return this.View(createTeamModel);
        }
Esempio n. 12
0
        public async void CRUDTest()
        {
            var api = new ApiService(this.ConnectionSettings);

            // Create
            var model = new CreateTeamModel {
                Name = "Test " + Rand(), Description = "Description ..."
            };
            var createdTeam = await api.Post <CreateTeamModel, LabelIdModel <string> >("/api/1.0/teams", model);

            Assert.NotNull(createdTeam);
            Assert.NotEmpty(createdTeam.Id);

            // Read
            var team = await api.Get <TeamModel>($"/api/1.0/teams/{createdTeam.Id}");

            Assert.NotNull(team);
            Assert.NotEmpty(team.Name);
            Assert.Equal(model.Name, team.Name);
            Assert.Equal(model.Description, team.Description);

            // Edit
            var editModel = new EditTeamModel {
                Id = team.Id, Name = "Test 2 ", Description = "Description 2..."
            };
            await api.Put <EditTeamModel, LabelIdModel <string> >("/api/1.0/teams", editModel);

            // Read
            team = await api.Get <TeamModel>($"/api/1.0/teams/{editModel.Id}");

            Assert.NotNull(team);
            Assert.NotEmpty(team.Name);
            Assert.Equal(editModel.Name, team.Name);
            Assert.Equal(editModel.Description, team.Description);

            // Delete
            await api.Delete($"/api/1.0/teams/delete/{team.Id}");

            Thread.Sleep(2000);
            team = await api.Get <TeamModel>($"/api/1.0/teams/{editModel.Id}");

            Assert.NotNull(team);
        }
Esempio n. 13
0
        public async Task <ActionResult> CreateTeamModal(CreateTeamModel model)
        {
            if (!ModelState.IsValid)
            {
                model.Games = await GetPendingGames();

                return(View(model));
            }

            var result = await GameWriter.CreateTeam(model);

            if (!ModelState.IsWriterResultValid(result))
            {
                model.Games = await GetPendingGames();

                return(View(model));
            }

            return(CloseModalSuccess());
        }
Esempio n. 14
0
        public async Task <IWriterResult> CreateTeam(CreateTeamModel model)
        {
            using (var context = DataContextFactory.CreateContext())
            {
                var game = await context.Games.FirstOrDefaultAsync(x => x.Id == model.GameId);

                if (game == null)
                {
                    return(new WriterResult(false, $"Game not found"));
                }

                if (game.Status != Enums.GameStatus.NotStarted && game.Status != Enums.GameStatus.Paused)
                {
                    return(new WriterResult(false, $"Unable to add team to game in {game.Status} status"));
                }

                if (await context.Team.AnyAsync(x => x.GameId == game.Id && x.Name == model.Name))
                {
                    return(new WriterResult(false, $"Game with name already exists"));
                }

                if (await context.Team.AnyAsync(x => x.GameId == game.Id && x.Color == model.Color))
                {
                    return(new WriterResult(false, $"Game with color already exists"));
                }

                context.Team.Add(new Entity.Team
                {
                    GameId      = game.Id,
                    Name        = model.Name,
                    Description = model.Description,
                    Icon        = model.Icon,
                    Color       = model.Color,
                    Rank        = model.Rank,
                    Timestamp   = DateTime.UtcNow
                });
                await context.SaveChangesAsync();

                return(new WriterResult(true));
            }
        }
Esempio n. 15
0
        public async ValueTask <Result> CreateTeam([FromBody] CreateTeamModel model)
        {
            string coachId      = httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
            Result httpResponse = new Result();

            Coach coach;

            if (context.Coaches.ToList()
                .Where(coach => coach.Id == coachId)
                .Any())
            {
                coach = context.Coaches
                        .Where(c => c.Id == coachId)
                        .First();
            }
            else
            {
                httpResponse.Success = false;
                httpResponse.Errors.Add("No coach with that id could be found.");

                return(httpResponse);
            }
            Race race = context.Races
                        .Where(r => r.RaceName == model.Race)
                        .First();

            context.Teams.Add(new Team
            {
                Coach           = coach,
                Id              = Guid.NewGuid().ToString(),
                Race            = race,
                Players         = new List <Player>(),
                TeamName        = model.TeamName,
                Teamvalue       = 0,
                NumberOfReRolls = 0
            });
            context.SaveChanges();
            httpResponse.Success = true;
            return(httpResponse);
        }
Esempio n. 16
0
        public ActionResult Create(CreateTeamModel createTeamModel)
        {
            var teamModel = createTeamModel.TeamModel;

            teamModel.League = GetLeagueWithId(createTeamModel.LeagueId, createTeamModel.PossibleLeagues);
            var dTeam            = Mapper.Map <DTeam>(teamModel);
            IDatabaseAccessor db = new SqlDatabaseAccessor(MvcApplication.GetMockDraftConnectionStringName());

            if (ModelState.IsValid)
            {
                if (db.TeamExists(dTeam))
                {
                    ViewBag.Feedback = createTeamModel.AlreadyExistedErrorMessage;
                    return(View(createTeamModel));
                }

                db.AddTeam(dTeam);
                ViewBag.Feedback = createTeamModel.SuccessMessage;
            }

            var newTeamModel = new CreateTeamModel();

            return(View(newTeamModel));
        }
Esempio n. 17
0
        public static IActionResult Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            req.Headers.TryGetValue("sessionToken", out StringValues sessionToken);
            User requester = SessionValidator.ValidateSession(sessionToken.ToString());
            if (requester == null)
            {
                return new StatusCodeResult(403);
            }
            List<CreateTeamModel> ctms = new List<CreateTeamModel>();

            using (DataContext dc = new DataContext())
            {
                var teams = dc.Team.Include(x => x.Users).Where(x => x.Users.Contains(requester) || requester.UserType.UserTypeName == "Admin");
                foreach (var Team in teams)
                {
                    CreateTeamModel ctm = new CreateTeamModel { TeamName = Team.TeamName, LeaderID = Team.LeaderID, ProjectName = Team.ProjectName, TeamID = Team.TeamID};
                    ctms.Add(ctm);
                }

            }
            return new JsonResult(ctms);
        }
Esempio n. 18
0
 public CreateTeamPage()
 {
     InitializeComponent();
     BindingContext = new CreateTeamModel(Navigation);
 }
Esempio n. 19
0
        public ActionResult Create()
        {
            var teamModel = new CreateTeamModel();

            return(View(teamModel));
        }
Esempio n. 20
0
        public async Task <IActionResult> Post([FromBody] CreateTeamModel model)
        {
            //TODO: Implement Detailed Error Checking
            if (ModelState.IsValid)
            {
                try
                {
                    //TenantServerConfig tenantServerConfig, DatabaseConfig databaseConfig, CatalogConfig catalogConfig
                    var databaseConfig = new DatabaseConfig
                    {
                        DatabasePassword   = _configuration["DatabaseOptions:DatabasePassword"],
                        DatabaseUser       = _configuration["DatabaseOptions:DatabaseUser"],
                        DatabaseServerPort = Int32.Parse(_configuration["DatabaseOptions:DatabaseServerPort"]),
                        SqlProtocol        = SqlProtocol.Tcp,
                        ConnectionTimeOut  = Int32.Parse(_configuration["DatabaseOptions:ConnectionTimeOut"]),
                    };

                    var catalogConfig = new CatalogConfig
                    {
                        ServicePlan     = _configuration["DatabaseOptions:ServicePlan"],
                        CatalogDatabase = _configuration["DatabaseOptions:CatalogDatabase"],
                        CatalogServer   = _configuration["DatabaseOptions:CatalogServer"], // + ".database.windows.net"
                    };

                    var tenantServerConfig = new TenantServerConfig
                    {
                        TenantServer   = _configuration["DatabaseOptions:CatalogServer"],// + ".database.windows.net",
                        TenantDatabase = _configuration["DatabaseOptions:TenantDatabase"],
                    };

                    var team = new Team
                    {
                        Id       = _utilities.GetTenantKey(model.TenantName),
                        Name     = model.TenantName,
                        LogoLink = model.TenantLogoLink,
                    };



                    //Create Shard, Add Team and Register Tenant against shard
                    var shard = Sharding.CreateNewShard(tenantServerConfig.TenantDatabase, tenantServerConfig.TenantServer, databaseConfig.DatabaseServerPort, null);
                    await _tenantRepository.AddTeam(team);

                    var x = await Sharding.RegisterNewShard(team.Id, "", shard);

                    //Add first user to team. Team Owner!
                    var applicationUser = await _userService.GetApplicationUserAsync();

                    var user = new User {
                        ApplicationUserId = applicationUser.Id, Email = applicationUser.Email, UserRole = Role.SuperAdministrator
                    };
                    await _tenantRepository.AddUserToTeam(user, team.Id);


                    return(Ok(new { team_id = team.Id, team_name = team.Name }));
                }
                catch (Exception ex)
                {
                    //TODO: Log Error
                    return(BadRequest(new { Error = ex.Message }));
                }
            }

            return(BadRequest(ModelState));
        }