public ActionResult Create(MovieViewModel movie) { if (movie.UploadedFile == null) { ModelState.AddModelError("UploadedFile", "El campo Imagen es requerido."); } else if (!FileManager.FileHasValidTypeForImages(movie.UploadedFile)) { ModelState.AddModelError("UploadedFile", "El campo Imagen permite archivos únicamente con formato JPG y PNG."); } if (ModelState.IsValid) { var categoriesSelected = db.MovieCategory. Where(item => movie.SelectedCategories.Contains(item.CategoryId.ToString())). Select(item => item.BitAssigned).ToList(); movie.CategoriesAssigned = BitManager.GetBitsSum(categoriesSelected); movie.ImagePath = FileManager.SaveMovieImage(movie.Name, movie.UploadedFile); Movie moviedb = ConvertViewModelToMovie(movie); db.Movie.Add(moviedb); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.AudienceClassificationId = new SelectList(db.AudienceClassification, "AudienceClassificationId", "Name", movie.AudienceClassificationId); return(View(movie)); }
// Use this for initialization void Start() { theScoreManager = FindObjectOfType <ScoreManager> (); theBitManager = FindObjectOfType <BitManager> (); theGameManager = FindObjectOfType <GameManager> (); }
// Use this for initialization void Start() { bitwallet = FindObjectOfType <BitManager> (); isunlocked = false; characterManager = FindObjectOfType <CharacterManager> (); bitbotShop = FindObjectOfType <BuyBitbotsAndAds> (); }
public static byte[] Decompress(byte[] compressedData) { using (var input = new ExtendedBinaryReader(new MemoryStream(compressedData), Encoding.GetEncoding(1252), Endianness.BigEndian)) using (var output = new MemoryStream()) { var magic = input.ReadUInt32(); var endianness = input.ReadByte(); input.Endianness = endianness == 0 ? Endianness.LittleEndian : Endianness.BigEndian; var version = input.ReadByte(); var headerSize = input.ReadUInt16(); var uncompressedSize = input.ReadUInt32(); var compressedSize = input.ReadUInt32(); var block = new byte[18]; var manager = new BitManager(input); while (input.Position < input.Length) { var type = manager.GetFlagType(); switch (type) { case FlagType.Literal: output.WriteByte(input.ReadByte()); break; case FlagType.Copy: var(copyPosition, copyCount) = manager.GetCopyInfo(); output.Seek(-copyPosition, SeekOrigin.End); output.Read(block, 0, copyCount); output.Seek(0, SeekOrigin.End); output.Write(block, 0, copyCount); break; default: throw new ArgumentOutOfRangeException(); } } return(output.ToArray()); } }
private List <MovieRecomendationViewModel> GetRecomendations() { List <MovieRecomendationViewModel> recomendations = new List <MovieRecomendationViewModel>(); List <AvailableMovieViewModel> cinemasAvailable = (List <AvailableMovieViewModel>)HttpContext.GetValuesFromCache(cinemasAvailableKey); if (User.Identity.IsAuthenticated) { var userId = User.Identity.GetUserId(); var user = db.User.Find(new Guid(userId)); if (user != null && user.CategoryPreferences != 0) { foreach (var item in cinemasAvailable) { if (BitManager.ContainsBit(user.CategoryPreferences, item.Category)) { recomendations.Add(new MovieRecomendationViewModel() { MovieImagePath = item.MovieImagePath, MovieName = item.MovieName }); } if (recomendations.Count == 3) { break; } } } } if (recomendations.Count == 0) { foreach (var item in cinemasAvailable) { recomendations.Add(new MovieRecomendationViewModel() { MovieImagePath = item.MovieImagePath, MovieName = item.MovieName }); if (recomendations.Count == 3) { break; } } } return(recomendations); }
private IList <SelectListItem> GetCategoriesViewModels(long categoriesSelected) { List <SelectListItem> categoriesViewModels = new List <SelectListItem>(); var movieCategories = db.MovieCategory.ToList(); foreach (var item in movieCategories) { categoriesViewModels.Add(new SelectListItem() { Text = item.CategoryName, Value = item.CategoryId.ToString(), Selected = BitManager.ContainsBit(categoriesSelected, item.BitAssigned) }); } return(categoriesViewModels); }
public ActionResult Index(IndexViewModel indexViewModel) { var userId = User.Identity.GetUserId(); var user = db.User.Find(new Guid(userId)); if (user != null) { var categoriesSelected = db.MovieCategory. Where(item => indexViewModel.SelectedCategories.Contains(item.CategoryId.ToString())). Select(item => item.BitAssigned).ToList(); user.CategoryPreferences = BitManager.GetBitsSum(categoriesSelected); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(indexViewModel)); }
public ActionResult Create([Bind(Include = "CategoryId,CategoryName")] MovieCategory movieCategory) { if (ModelState.IsValid) { #region Default Values long lastBitAssigned = (from item in db.MovieCategory select item.BitAssigned).Max(); long bitToAssign = BitManager.GetNextBitToAssign(lastBitAssigned); movieCategory.BitAssigned = bitToAssign; movieCategory.Status = 1; #endregion db.MovieCategory.Add(movieCategory); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(movieCategory)); }
public static byte[] Compress(byte[] uncompressedData) { using (var ms = new MemoryStream()) using (var output = new ExtendedBinaryWriter(ms, Encoding.GetEncoding(1252), Endianness.BigEndian)) { output.Write((uint)0x534c4c5a); output.Write((byte)0x00); output.Write((byte)0x01); output.Endianness = Endianness.LittleEndian; output.Write((ushort)0x0010); output.Write((uint)uncompressedData.Length); output.Write((uint)0); var uncompressedSize = uncompressedData.Length; var currentPosition = 0; var manager = new BitManager(output); var queue = new Queue <SllzItem>(); var itemsToWrite = 7; // La primera vez se escriben 7 elementos, el resto de las veces, 8 while (currentPosition < uncompressedSize) { var match = FindMatch(uncompressedData, currentPosition, true); if (!match.Found) { var item = new SllzItem { IsLiteral = true, Literal = uncompressedData[currentPosition], CopyFlags = 0 }; queue.Enqueue(item); manager.SetFlagType(FlagType.Literal); } else { manager.SetFlagType(FlagType.Copy); var copyCount = (short)((match.Length - 3) & 0x0F); var copyDistance = (short)((match.Distance - 1) << 4); var tuple = (short)(copyDistance | copyCount); var item = new SllzItem { IsLiteral = false, Literal = 0, CopyFlags = tuple }; queue.Enqueue(item); } currentPosition += match.Length; if (manager.IsByteChange) { for (var i = 0; i < itemsToWrite; i++) { var item = queue.Dequeue(); if (item.IsLiteral) { output.Write(item.Literal); } else { output.Write(item.CopyFlags); } } itemsToWrite = 8; } } manager.Flush(); if (queue.Count > 0) { while (queue.Count > 0) { var item = queue.Dequeue(); if (item.IsLiteral) { output.Write(item.Literal); } else { output.Write(item.CopyFlags); } } } var length = output.Length; output.Seek(0x0C, SeekOrigin.Begin); output.Write((uint)length); return(ms.ToArray()); } }