/// <summary> /// Creates a LauncherClient with the provided command line arguments. /// </summary> /// <param name="arguments">A list of arguments.</param> public LauncherClient(string[] arguments) { for (int i = 0; i < arguments.Length; ++i) { if (arguments[i].ToLowerInvariant() == "/action") { if (i < arguments.Length - 1) { LauncherAction action; if (Enum.TryParse(arguments[i + 1], true, out action)) { mAction = action; } } } else if (arguments[i].ToLowerInvariant() == "/elevated") { mRequestedElevation = true; } } if (IntPtr.Size == 8) { mPlatform = ReleasePlatform.Win64; } else { mPlatform = ReleasePlatform.Win32; } BuildDirectories(); Refresh(); try { Connect(); } catch { // Just don't bother updating the game. } }
// PUT: api/Releases/5 public IHttpActionResult PutRelease(int id, Release releaseModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != releaseModel.ReleaseId) { return(BadRequest()); } Release entity = db.Releases .Include(p => p.ReleasePlatforms) .Include(p => p.Features) .Include(p => p.WorkItems) .First(p => p.ReleaseId == id); entity.ApplicationVersion = releaseModel.ApplicationVersion; entity.ClientId = releaseModel.ClientId; entity.StatusCode = releaseModel.StatusCode; entity.ClientApproverName = releaseModel.ClientApproverName; entity.Notes = releaseModel.Notes; entity.QaStartDate = releaseModel.QaStartDate; entity.QaEndDate = releaseModel.QaEndDate; entity.UatStartDate = releaseModel.UatStartDate; entity.UatEndDate = releaseModel.UatEndDate; entity.ReleaseDate = releaseModel.ReleaseDate; // var toDelete = entity.ReleasePlatforms.Where(e => releaseModel.ReleasePlatforms.Count(m => m.PlatformCode == e.PlatformCode) == 0).ToList(); if (toDelete.Any()) { toDelete.ForEach(d => db.ReleasePlatforms.Remove(d)); } releaseModel.ReleasePlatforms.ToList().ForEach(model => { var existingEntity = entity.ReleasePlatforms.SingleOrDefault(e => e.PlatformCode == model.PlatformCode); if (existingEntity != null) { existingEntity.AvailableInStoreDate = model.AvailableInStoreDate; existingEntity.SubmittedForApprovalDate = model.SubmittedForApprovalDate; //db.ReleasePlatforms.Update(existingEntity); } else //add { var newPlatform = new ReleasePlatform { ReleaseId = model.ReleaseId, PlatformCode = model.PlatformCode, AvailableInStoreDate = model.AvailableInStoreDate, SubmittedForApprovalDate = model.SubmittedForApprovalDate }; db.ReleasePlatforms.Add(newPlatform); } }); try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!ReleaseExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }