示例#1
0
        public async Task <IActionResult> CreateUser(int eventId, Teammember teammember)
        {
            if (teammember == null)
            {
                return(BadRequest());
            }

            if (teammember.Emailaddress == null || teammember.Role == null)
            {
                ModelState.AddModelError("RequiredFields", "Not all required fields are filled in.");
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            IdentityResult result = await CreateUser(teammember);

            IdentityUser <Guid> eventUser = null;

            if (result.Succeeded)
            {
                eventUser = await _userManager.FindByEmailAsync(teammember.Emailaddress);
                await AddEventToUser(eventId, eventUser.Id, teammember.Role);

                return(Ok());
            }
            else
            {
                return(StatusCode(500));
            }
        }
        public async Task <IActionResult> Edit(int id, Teammember teammember)
        {
            if (id != teammember.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    uploadphote(teammember);
                    _context.Update(teammember);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TeammemberExists(teammember.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(teammember));
        }
        public Teammember Map(TeammemberModel model)
        {
            Teammember entity = new Teammember
            {
                Id       = model.Id,
                Name     = model.Name,
                Capacity = model.Capacity
            };

            return(entity);
        }
        public static TeammemberModel Map(Teammember entity)
        {
            TeammemberModel model = new TeammemberModel
            {
                Id       = entity.Id,
                Name     = entity.Name,
                Capacity = entity.Capacity
            };

            return(model);
        }
        public async Task <IActionResult> Create(Teammember teammember)
        {
            if (ModelState.IsValid)
            {
                uploadphote(teammember);
                _context.Add(teammember);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(teammember));
        }
示例#6
0
        private async Task <IdentityResult> CreateUser(Teammember teammember)
        {
            string password = "******";
            var    user     = new IdentityUser <Guid>
            {
                UserName = teammember.Emailaddress,
                Email    = teammember.Emailaddress
            };
            var result = await _userManager.CreateAsync(user, password);

            return(result);
        }
        public TeammemberModel InsertTeammember(TeammemberModel model)
        {
            if (string.IsNullOrEmpty(model.Id))
            {
                model.Id = Guid.NewGuid().ToString();
            }
            Teammember entity = Map(model);

            context.Teammember.Add(entity);
            context.SaveChangesAsync();

            return(model);
        }
 void uploadphote(Teammember model)
 {
     if (model.File != null)
     {
         string uploadsFolder  = Path.Combine(host.WebRootPath, "images");
         string uniqueFileName = Guid.NewGuid() + ".jpg";
         string filePath       = Path.Combine(uploadsFolder, uniqueFileName);
         using (var filestream = new FileStream(filePath, FileMode.Create))
         {
             model.File.CopyTo(filestream);
         }
         model.Image = uniqueFileName;
     }
 }
示例#9
0
        void voiduploadsphoto(Teammember model)
        {
            if (model.File != null)
            {
                string uploadfile = Path.Combine(host.WebRootPath, "img/news");
                string uniname    = Guid.NewGuid() + ".jpg";
                string filepath   = Path.Combine(uploadfile, uniname);

                using (var fileStream = new FileStream(filepath, FileMode.Create))
                {
                    model.File.CopyTo(fileStream);
                }
                model.Image = uniname;
            }
        }
        protected override async void OnAppearing()
        {
            base.OnAppearing();

            if (selectedTeam != null)
            {
                try
                {
                    header.Text = "TEAM PERFORMANCE";
                    goals       = new List <GoalModel>();
                    users       = await App.client.GetTable <UserModel>().Where(u => u.TeamId == selectedTeam.Id).ToListAsync();

                    if (users != null)
                    {
                        foreach (UserModel u in users)
                        {
                            List <GoalModel> temp_goals = new List <GoalModel>();
                            List <GoalModel> gs         = await App.client.GetTable <GoalModel>().Where(g => g.UserId == u.Id).OrderByDescending(g => g.CreatedDate).Take(500).ToListAsync();

                            if (gs != null)
                            {
                                foreach (GoalModel g_s in gs)
                                {
                                    goals.Add(g_s);
                                    temp_goals.Add(g_s);
                                }
                            }
                            Teammember t = new Teammember();
                            t.FirstName = u.FirstName;
                            t.LastName  = u.LastName;
                            t.Goals     = temp_goals;
                            Teammembers.Add(t);
                        }
                    }
                }
                catch (Exception ex)
                {
                    var properties = new Dictionary <string, string> {
                        { "Statistics page", "OnAppearing" }
                    };
                    Crashes.TrackError(ex, properties);
                }
            }
            else
            {
                // participantsCollectionView.IsVisible = false;
                goals = await App.client.GetTable <GoalModel>().Where(g => g.UserId == selectedUser.Id).Take(500).ToListAsync();
            }

            UpdateStats();

            PopulateStandardCharts();

            if (selectedTeam != null)
            {
                PopulateTeamComparisonChart();
            }
            else
            {
                chartViewTeamComparison.IsVisible = false;
                labelTeamComparison.IsVisible     = false;
            }

            // Implementation of recurrent goals chart

            GetRecurrentGoals();
        }