public async Task <IActionResult> Edit(string id, [Bind("Id,Name,Detail,Localtion,Email,PhoneNumber,WebSite")] SchoolProfile schoolProfile)
        {
            if (id != schoolProfile.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(schoolProfile);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SchoolProfileExists(schoolProfile.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(schoolProfile));
        }
        public void SetData(SchoolProfile profile)
        {
            this.profile      = profile;
            lblName.Text      = profile.Name;
            lblPosts.Text     = LargeValueHelper.GetString(profile.Posts);
            lblPosts.Text     = LargeValueHelper.GetString(profile.Posts);
            lblFollowers.Text = LargeValueHelper.GetString(profile.Followers);

            isFollowing = profile.IsFollowing;
            if (profile.IsProfileAdmin)
            {
                btnAdmin.Text = "You are an admin of this profile";
            }

            Views.SetFollowed(btnFollow, isFollowing);

            if (!string.IsNullOrEmpty(profile.ProfileUrl))
            {
                ImageService.Instance.LoadUrl(profile.ProfileUrl).Transform(new CircleTransformation()).Retry(3, 300)
                .Into(imgProfile);
            }

            //btnAdmin.Click += (sender, args) =>
            //{
            //    if (profile == null)
            //        return;

            //    Intent intent = new Intent(Activity, typeof(AdminInfoActivity));
            //    intent.PutExtra("Id", SchoolId);
            //    intent.PutExtra("Type", (int)FeedType.School);
            //    intent.PutExtra("IsAdmin", profile.IsProfileAdmin);
            //    StartActivity(intent);
            //};
        }
        void GetData()
        {
            var apiTask = new ServiceApi().GetSchoolProfile(SchoolId);

            apiTask.HandleError();
            apiTask.OnSucess(response =>
            {
                profile = response.Result;
                aboutController.SetView(profile);
                //rankingsController.SetView(profile);
                lblName.Text  = response.Result.Name;
                lblTitle.Text = response.Result.Name;

                var color = ColorHelper.GetColor(profile.PrimaryColor, btnBack.Superview.BackgroundColor);
                btnBack.Superview.BackgroundColor = color;
                btnProfile.Superview.Superview.BackgroundColor = color;

                lblPosts.Text     = LargeValueHelper.GetString(response.Result.Posts);
                lblFollowers.Text = LargeValueHelper.GetString(response.Result.Followers);

                //btnAdmin.SetTitle("Become an Admin of this profile", UIControlState.Normal);
                Views.SetFollowed(btnFollow, response.Result.IsFollowing);

                if (!string.IsNullOrEmpty(response.Result.ProfileUrl))
                {
                    ImageService.Instance.LoadUrl(response.Result.ProfileUrl).Retry(3, 300).Into(imgProfile);
                }

                if (profile.IsProfileAdmin)
                {
                    btnAdmin.SetTitle("You are an admin of this profile", UIControlState.Normal);
                }
            });
        }
Ejemplo n.º 4
0
        public void SetView(SchoolProfile profile)
        {
            this.profile = profile;

            if (!string.IsNullOrEmpty(profile.TwitterUrl))
            {
                btnTwitter.Superview.Hidden = false;
            }
            if (!string.IsNullOrEmpty(profile.FacebookUrl))
            {
                btnFacebook.Superview.Hidden = false;
            }
            if (!string.IsNullOrEmpty(profile.InstagramUrl))
            {
                btnInstagram.Superview.Hidden = false;
            }
        }
        public async Task <IActionResult> Create([Bind("Id,Name,Detail,Localtion,Email,PhoneNumber,WebSite")] SchoolProfile schoolProfile)
        {
            if (ModelState.IsValid)
            {
                await _context.Specializeds.ForEachAsync(spec =>
                {
                    schoolProfile.Specializeds.Add(spec);
                });

                await _context.EducationPrograms.ForEachAsync(pro =>
                {
                    schoolProfile.EducationPrograms.Add(pro);
                });

                _context.Add(schoolProfile);

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(schoolProfile));
        }
Ejemplo n.º 6
0
        public async Task <ResponseResult <SchoolTeacherViewModel> > AddTeacher(SchoolTeacherViewModel data, SchoolProfile school)
        {
            using (var trans = _context.Database.BeginTransaction())
            {
                var r        = Shared.String.GenerateRandom(4, false, true, false, false);
                var username = $"{data.FirstName[0]}{data.LastName.ToLower()}_{r}@{school.Name.Replace(" ", "_")}.com";

                //check if studentID already exist
                while (_manager.GetList(o => o.User.UserName == username, o => o.User).Count() > 0)
                {
                    r        = Shared.String.GenerateRandom(4, false, true, false, false);
                    username = $"{data.FirstName[0]}{data.LastName.ToLower()}_{r}@{school.Name.Replace(" ", "_")}.com";
                }

                var user = new SchoolUser
                {
                    UserName       = username,
                    Email          = username,
                    EmailConfirmed = true,
                    //extended properties
                    FirstName        = data.FirstName,
                    LastName         = data.LastName,
                    School           = school,
                    Type             = UserType.Teacher,
                    InsertedDateTime = DateTime.Now,
                    UpdatedDateTime  = DateTime.Now,
                };

                var password = $"{data.LastName.ToProperCase()}{r}!";
                var result   = await _userManager.CreateAsync(user, password);

                if (result.Succeeded)
                {
                    await _userManager.AddToRoleAsync(user, "Teacher");

                    var teacher = await _manager.AddAsync(new SchoolTeacher()
                    {
                        FirstName  = data.FirstName,
                        MiddleName = data.MiddleName,
                        LastName   = data.LastName,
                        Position   = data.Position,
                        User       = user
                    });

                    data.Id = teacher.Id;
                    await trans.CommitAsync();
                }
            }

            return(ResponseResult <SchoolTeacherViewModel> .SetSuccess(data));
        }
Ejemplo n.º 7
0
        public async Task <ResponseResult <SchoolTeacherViewModel> > UpdateTeacher(SchoolTeacherViewModel data, SchoolProfile school)
        {
            using (var trans = _context.Database.BeginTransaction())
            {
                var teacher = _manager.GetSingle(o => o.Id == data.Id);
                teacher.LastName   = data.LastName;
                teacher.FirstName  = data.FirstName;
                teacher.MiddleName = data.MiddleName;
                teacher.Position   = data.Position;

                await _manager.UpdateAsync(teacher);

                await trans.CommitAsync();
            }

            return(ResponseResult <SchoolTeacherViewModel> .SetSuccess(data));
        }
Ejemplo n.º 8
0
        public static double CalculatePercentage(string input, SchoolProfile item)
        {
            var result = (double)Convert.ToInt32(input) * 100 / (double)Convert.ToInt32(item.StudentCount);

            return(result);
        }
Ejemplo n.º 9
0
        public async Task <ResponseResult <SchoolYearViewModel> > UpdateSchoolYear(SchoolYearViewModel data, SchoolProfile school)
        {
            await _manager.UpdateAsync(new Model.SchoolYear()
            {
                Id              = data.Id,
                Name            = data.Name,
                Start           = data.Start.Value,
                End             = data.End.Value,
                UpdatedDateTime = DateTime.Now
            });

            return(ResponseResult <SchoolYearViewModel> .SetSuccess(data));
        }
Ejemplo n.º 10
0
        public async Task <ResponseResult <SchoolYearViewModel> > AddSchoolYear(SchoolYearViewModel data, SchoolProfile school)
        {
            await _manager.AddAsync(new Model.SchoolYear()
            {
                Name             = data.Name,
                Start            = data.Start.Value,
                End              = data.End.Value,
                InsertedDateTime = DateTime.Now,
                UpdatedDateTime  = DateTime.Now,
                School           = school
            });

            return(ResponseResult <SchoolYearViewModel> .SetSuccess(data));
        }
        public async Task <ResponseResult <StudentViewModel> > UpdateStudent(StudentViewModel data, SchoolProfile school)
        {
            using (var trans = _context.Database.BeginTransaction())
            {
                if (data.CurrentAddress.Id == Guid.Empty)
                {
                    data.CurrentAddress = await _addressManager.AddAsync(new StudentAddress()
                    {
                        Address = data.CurrentAddress.Address,
                        City    = data.CurrentAddress.City,
                        Zip     = data.CurrentAddress.Zip,
                        Country = data.CurrentAddress.Country
                    });
                }
                else
                {
                    data.CurrentAddress = await _addressManager.UpdateAsync(new StudentAddress()
                    {
                        Id      = data.CurrentAddress.Id,
                        Address = data.CurrentAddress.Address,
                        City    = data.CurrentAddress.City,
                        Zip     = data.CurrentAddress.Zip,
                        Country = data.CurrentAddress.Country
                    });
                }

                if (data.PermanentAddress.Id == Guid.Empty)
                {
                    data.PermanentAddress = await _addressManager.AddAsync(new StudentAddress()
                    {
                        Address = data.PermanentAddress.Address,
                        City    = data.PermanentAddress.City,
                        Zip     = data.PermanentAddress.Zip,
                        Country = data.PermanentAddress.Country
                    });
                }
                else
                {
                    data.PermanentAddress = await _addressManager.UpdateAsync(new StudentAddress()
                    {
                        Id      = data.PermanentAddress.Id,
                        Address = data.PermanentAddress.Address,
                        City    = data.PermanentAddress.City,
                        Zip     = data.PermanentAddress.Zip,
                        Country = data.PermanentAddress.Country
                    });
                }

                await _manager.UpdateAsync(new StudentProfile()
                {
                    Id               = data.Id,
                    StudentId        = data.StudentId,
                    FirstName        = data.FirstName,
                    LastName         = data.LastName,
                    MiddleName       = data.MiddleName,
                    DOB              = data.DOB,
                    Email            = data.Email,
                    Gender           = data.Gender,
                    Mobile           = data.Mobile,
                    Phone            = data.Phone,
                    CurrentAddress   = data.CurrentAddress,
                    PermanentAddress = data.PermanentAddress
                });

                await trans.CommitAsync();
            }

            return(ResponseResult <StudentViewModel> .SetSuccess(data));
        }
        public async Task <ResponseResult <StudentViewModel> > AddStudent(StudentViewModel data, SchoolProfile school)
        {
            using (var trans = _context.Database.BeginTransaction())
            {
                var r         = Shared.String.GenerateRandom(_settings.StudentIdLength, false, true, false, false);
                var studentId = $"{school.Code}{r}";
                //check if studentID already exist
                while (_manager.GetList(o => o.StudentId == studentId).Count() > 0)
                {
                    r         = Shared.String.GenerateRandom(_settings.StudentIdLength, false, true, false, false);
                    studentId = $"{school.Code}{r}";
                }
                var username = $"{studentId}@{school.Name.Replace(" ", "_")}.com";
                var user     = new SchoolUser
                {
                    UserName       = username,
                    Email          = username,
                    EmailConfirmed = true,
                    //extended properties
                    FirstName        = data.FirstName,
                    LastName         = data.LastName,
                    School           = school,
                    Type             = UserType.Student,
                    InsertedDateTime = DateTime.Now,
                    UpdatedDateTime  = DateTime.Now
                };

                var password = $"{data.LastName.ToProperCase()}{r}!";
                var result   = await _userManager.CreateAsync(user, password);

                if (result.Succeeded)
                {
                    await _userManager.AddToRoleAsync(user, "Student");

                    var student = await _manager.AddAsync(new Model.StudentProfile()
                    {
                        FirstName  = data.FirstName,
                        LastName   = data.LastName,
                        MiddleName = data.MiddleName,
                        Gender     = data.Gender,
                        DOB        = data.DOB,
                        Email      = data.Email,
                        Phone      = data.Phone,
                        Mobile     = data.Mobile,
                        StudentId  = studentId,

                        School = school,
                        User   = user
                    });

                    data.Id = student.Id;
                    await trans.CommitAsync();
                }
            }

            return(ResponseResult <StudentViewModel> .SetSuccess(data));
        }
Ejemplo n.º 13
0
 public void SetData(SchoolProfile profile)
 {
     this.profile = profile;
     SetView();
 }