Exemplo n.º 1
0
        public ViewResult AppBuildDetail(string platform, int id, int buildId)
        {
            Repository.ApplicationBuild build;

            using (var context = new BetaDepot.Repository.BetaDepotContext())
            {
                build = context.Builds.Include("Environment").Include("Application").Include("AddedBy").Where(w => w.Id == buildId).FirstOrDefault();
            }

            if (!Repository.Managers.ApplicationBuildMgr.IsUserAnAppTeamMember(User.Identity.GetUserName(), build.Application.Id))
            {
                throw new HttpException(403, "You are not a team member of this app.");
            }

            return(View(new Models.PlatformViewAppBuildDetail()
            {
                AppIconUrl = Platforms.Common.GenerateAppIconUrl(build.Application.ApplicationIdentifier),
                AppId = build.Application.Id,
                AppName = build.Application.Name,
                BuildId = buildId,
                Platform = platform,
                BuildNotes = build.Notes,
                Environment = build.Environment.EnvironmentName,
                InstallUrl = Platforms.Common.GeneratePackageInstallUrl("App", "Download", platform, build.UniqueIdentifier.ToString()),
                UploadedByName = String.Format("{0} {1}", build.AddedBy.FirstName, build.AddedBy.LastName),
                UploadedDtm = String.Format("{0:f}", build.AddedDtm),
                VersionNumber = build.versionNumber,
                VersionCode = build.versionCode
            }));
        }
Exemplo n.º 2
0
        public ActionResult BuildHistory(string Platform, int id, string environment)
        {
            Models.PlatformViewAppBuildHistory mdl = new Models.PlatformViewAppBuildHistory();
            if (!Repository.Managers.ApplicationBuildMgr.IsUserAnAppTeamMember(User.Identity.GetUserName(), id))
            {
                throw new HttpException(403, "You are not a team member of this app.");
            }

            string currentUser = User.Identity.GetUserName().ToLower();

            using (var context = new BetaDepot.Repository.BetaDepotContext())
            {
                Repository.Application app = context.Applications.Where(wa => wa.Id == id).FirstOrDefault();
                mdl.CurrentUsersMembershipRole = context.ApplicationTeamMembers
                                                 .Where(w => w.TeamMember.UserName.ToLower() == currentUser &&
                                                        w.ApplicationId == id).FirstOrDefault().MemberRole;

                List <Repository.ApplicationBuild> builds = context.Builds
                                                            .Where(w => w.Application.Id == id &&
                                                                   (environment == null || w.Environment.EnvironmentName == environment))
                                                            .OrderByDescending(o => o.AddedDtm)
                                                            .ToList();

                mdl.AppIconUrl          = Platforms.Common.GenerateAppIconUrl(app.ApplicationIdentifier);
                mdl.AppId               = id;
                mdl.AppName             = app.Name;
                mdl.Platform            = app.Platform;
                mdl.selectedEnvironment = environment ?? string.Empty;
                builds.ForEach(f => {
                    mdl.Builds.Add(new Models.PlatformViewAppBuildHistory.BuildHistory()
                    {
                        BuildId        = f.Id,
                        BuildNotes     = f.Notes,
                        Environment    = f.Environment.EnvironmentName,
                        UploadedByName = String.Format("{0} {1}", f.AddedBy.FirstName, f.AddedBy.LastName),
                        UploadedDtm    = Common.Functions.GetPrettyDate(f.AddedDtm.ToLocalTime(), "MM/dd/yy"),
                        VersionNumber  = string.IsNullOrEmpty(f.versionCode) ? f.versionNumber : string.Format("{0} ({1})", f.versionNumber, f.versionCode),
                        InstallUrl     = Platforms.Common.GeneratePackageInstallUrl("App", "Download", f.Platform, f.UniqueIdentifier.ToString()),
                        Platform       = f.Platform
                    });
                });
            }
            return(View(mdl));
        }
Exemplo n.º 3
0
        public ActionResult Manage(string id)
        {
            string platform = id;
            string userName = User.Identity.GetUserName();

            Models.PlatformViewManage mdl = new Models.PlatformViewManage();
            mdl.Platform = platform.ToUpper();
            if (id.ToUpper() == Common.Constants.BUILD_PLATFORM_ANDROID)
            {
                mdl.PlatformDesc = "Android";
            }
            else if (id.ToUpper() == Common.Constants.BUILD_PLATFORM_IOS)
            {
                mdl.PlatformDesc = "iOS";
            }

            using (var context = new BetaDepot.Repository.BetaDepotContext())
            {
                List <Repository.Application> apps = (from a in context.Applications
                                                      join tm in context.ApplicationTeamMembers on a.Id equals tm.ApplicationId
                                                      where tm.TeamMember.UserName == userName &&
                                                      a.Platform == platform
                                                      select a).ToList();
                foreach (Repository.Application a in apps)
                {
                    mdl.Apps.Add(new Models.PlatformViewManage.PlatformViewManageApp()
                    {
                        ApplicationIdentifier = a.ApplicationIdentifier,
                        Id                 = a.Id,
                        Name               = a.Name,
                        Platform           = a.Platform,
                        TeamMemberCount    = a.AssignedMembers.Count(),
                        ApplicationRole    = a.AssignedMembers.Where(w => w.TeamMember.UserName.ToLower() == userName.ToLower()).FirstOrDefault().MemberRole,
                        UploadedBuildCount = context.Builds.Where(w => w.Application.Id == a.Id).Count(),
                        AppIconUrl         = Platforms.Common.GenerateAppIconUrl(a.ApplicationIdentifier)
                    });
                }
            }
            return(View(mdl));
        }
        public ActionResult BuildHistory(string Platform, int id, string environment)
        {

            Models.PlatformViewAppBuildHistory mdl = new Models.PlatformViewAppBuildHistory();
            if (!Repository.Managers.ApplicationBuildMgr.IsUserAnAppTeamMember(User.Identity.GetUserName(), id))
                throw new HttpException(403, "You are not a team member of this app.");

            string currentUser = User.Identity.GetUserName().ToLower();
            using(var context = new BetaDepot.Repository.BetaDepotContext())
            {
                Repository.Application app = context.Applications.Where(wa => wa.Id == id).FirstOrDefault();
                mdl.CurrentUsersMembershipRole = context.ApplicationTeamMembers
                                                .Where(w => w.TeamMember.UserName.ToLower() == currentUser
                                                            && w.ApplicationId == id).FirstOrDefault().MemberRole;

                List<Repository.ApplicationBuild> builds = context.Builds
                                                                .Where(w => w.Application.Id == id
                                                                        && (environment == null || w.Environment.EnvironmentName == environment))
                                                                .OrderByDescending(o => o.AddedDtm)
                                                                .ToList();

                mdl.AppIconUrl = Platforms.Common.GenerateAppIconUrl(app.ApplicationIdentifier);
                mdl.AppId = id;
                mdl.AppName = app.Name;
                mdl.Platform = app.Platform;
                mdl.selectedEnvironment = environment ?? string.Empty;
                builds.ForEach(f => {
                    mdl.Builds.Add(new Models.PlatformViewAppBuildHistory.BuildHistory()
                        {
                            BuildId = f.Id,
                            BuildNotes = f.Notes,
                            Environment = f.Environment.EnvironmentName,
                            UploadedByName = String.Format("{0} {1}", f.AddedBy.FirstName, f.AddedBy.LastName),
                            UploadedDtm = Common.Functions.GetPrettyDate(f.AddedDtm.ToLocalTime(), "MM/dd/yy"),
                            VersionNumber = string.IsNullOrEmpty(f.versionCode) ? f.versionNumber : string.Format("{0} ({1})", f.versionNumber, f.versionCode),
                            InstallUrl = Platforms.Common.GeneratePackageInstallUrl("App", "Download", f.Platform, f.UniqueIdentifier.ToString()),
                            Platform = f.Platform
                            
                        });
                });
            }
            return View(mdl);
        }
        public ViewResult AppBuildDetail(string platform, int id, int buildId)
        {
            Repository.ApplicationBuild build;

            using (var context = new BetaDepot.Repository.BetaDepotContext())
            {
                build = context.Builds.Include("Environment").Include("Application").Include("AddedBy").Where(w => w.Id == buildId).FirstOrDefault();
            }

            if (!Repository.Managers.ApplicationBuildMgr.IsUserAnAppTeamMember(User.Identity.GetUserName(), build.Application.Id))
                throw new HttpException(403, "You are not a team member of this app.");

            return View(new Models.PlatformViewAppBuildDetail()
                {
                    AppIconUrl = Platforms.Common.GenerateAppIconUrl(build.Application.ApplicationIdentifier),
                    AppId = build.Application.Id,
                    AppName = build.Application.Name,
                    BuildId = buildId,
                    Platform = platform,
                    BuildNotes = build.Notes,
                    Environment = build.Environment.EnvironmentName,
                    InstallUrl = Platforms.Common.GeneratePackageInstallUrl("App", "Download", platform, build.UniqueIdentifier.ToString()),
                    UploadedByName = String.Format("{0} {1}", build.AddedBy.FirstName, build.AddedBy.LastName),
                    UploadedDtm = String.Format("{0:f}",build.AddedDtm),
                    VersionNumber = build.versionNumber,
                    VersionCode = build.versionCode
                    
                });
        }
        public ActionResult Manage(string id)
        {
            string platform = id;
            string userName = User.Identity.GetUserName();
            Models.PlatformViewManage mdl = new Models.PlatformViewManage();
            mdl.Platform = platform.ToUpper();
            if (id.ToUpper() == Common.Constants.BUILD_PLATFORM_ANDROID)
                mdl.PlatformDesc = "Android";
            else if (id.ToUpper() == Common.Constants.BUILD_PLATFORM_IOS)
                mdl.PlatformDesc = "iOS";
          
            using (var context = new BetaDepot.Repository.BetaDepotContext())
            {


                List<Repository.Application> apps = (from a in context.Applications
                                            join tm in context.ApplicationTeamMembers on a.Id equals tm.ApplicationId
                                            where tm.TeamMember.UserName == userName
                                                && a.Platform == platform
                                            select a).ToList();
                foreach(Repository.Application a in apps)
                {

                    mdl.Apps.Add(new Models.PlatformViewManage.PlatformViewManageApp()
                        {
                            ApplicationIdentifier = a.ApplicationIdentifier,
                            Id = a.Id,
                            Name = a.Name,
                            Platform = a.Platform,
                            TeamMemberCount = a.AssignedMembers.Count(),
                            ApplicationRole = a.AssignedMembers.Where(w => w.TeamMember.UserName.ToLower() == userName.ToLower()).FirstOrDefault().MemberRole,
                            UploadedBuildCount = context.Builds.Where(w => w.Application.Id == a.Id).Count(),
                            AppIconUrl = Platforms.Common.GenerateAppIconUrl(a.ApplicationIdentifier)

                        });
                }
            }
            return View(mdl);
        }