private static void CreatePost(bYteMeDbContext context, string username, string title, string body)
        {
            var post = new Post
            {
                AuthorId = context.Users.FirstOrDefault(u => u.UserName == username)?.Id,
                Title    = title,
                Body     = body
            };

            context.Posts.Add(post);
        }
Exemplo n.º 2
0
        public ActionResult Index()
        {
            const int DefaultCountOfOrders = 4;
            const int DefaultCountDislikes = 8;
            var       db = new bYteMeDbContext();

            if (!db.Orders.Any())
            {
                var      startDirectory = AppDomain.CurrentDomain.BaseDirectory;
                string[] imagesPaths    =
                {
                    startDirectory + "images\\orders\\beer.jpg",
                    startDirectory + "images\\orders\\beers.jpg",
                    startDirectory + "images\\orders\\rakia.jpg",
                    startDirectory + "images\\orders\\alcohol-roulette.jpg"
                };
                var descriptions = TextConstants.OrdersDescriptions;

                for (var i = 1; i <= DefaultCountOfOrders; i++)
                {
                    var order = new Order {
                        OrderId = i
                    };
                    var    img = Image.FromFile(imagesPaths[i - 1]);
                    byte[] arr;
                    using (var ms = new MemoryStream())
                    {
                        img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                        arr = ms.ToArray();
                    }

                    order.Photo       = arr;
                    order.Description = descriptions[i - 1];

                    var dislikes = DefaultCountDislikes * i * i;
                    order.RequiredDislikes = dislikes * i;
                    db.Orders.Add(order);
                }

                db.SaveChanges();
            }

            return(this.View(db.Orders));
        }
        public async Task <ActionResult> Register(ExtendedIdentityModels model)
        {
            bYteMeDbContext db = new bYteMeDbContext();

            if (this.ModelState.IsValid)
            {
                if (model.UserProfilePicture != null)
                {
                    if (model.UserProfilePicture.ContentLength > (4 * 1024 * 1024))
                    {
                        this.ModelState.AddModelError("", "Изображението не може да е по-голямо от 4MB.");
                        return(this.View());
                    }
                    if (!(model.UserProfilePicture.ContentType == "image/jpeg" || model.UserProfilePicture.ContentType == "image/gif"))
                    {
                        this.ModelState.AddModelError("", "Изображението трябва да е в jpeg или gif формат.");
                    }
                }

                byte[] data;
                if (model.UserProfilePicture == null)
                {
                    FileStream fs = new FileStream(
                        AppDomain.CurrentDomain.BaseDirectory + "/images/default-profile-picture.jpg",
                        FileMode.Open,
                        FileAccess.Read);
                    BinaryReader br    = new BinaryReader(fs);
                    byte[]       image = br.ReadBytes((int)fs.Length);
                    br.Close();
                    fs.Close();
                    data = image;
                }
                else
                {
                    data = new byte[model.UserProfilePicture.ContentLength];
                    model.UserProfilePicture.InputStream.Read(data, 0, model.UserProfilePicture.ContentLength);
                }
                if (db.Users.Any(u => u.UserName == model.UserName))
                {
                    this.ModelState.AddModelError("", "вече има пич с такова потребителско име");
                }
                if (db.Users.Any(u => u.Email == model.Email))
                {
                    this.ModelState.AddModelError("", "зает е имейла");
                }
                var user = new User()
                {
                    UserName     = model.UserName,
                    FullName     = model.FullName,
                    Biography    = model.Biography,
                    ProfilePhoto = data,
                    Password     = model.Password,
                    Email        = model.Email
                };
                var result = await this.UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await this.SignInManager.SignInAsync(user, false, false);

                    return(this.RedirectToAction("Index", "Home"));
                }
                this.AddErrors(result);
            }
            // If we got this far, something failed, redisplay form
            return(this.View(model));
        }