public IActionResult Add(AddKittenBindingModel model)
        {
            this.SetupLayoutHtml();

            Breed breed = 0;

            if (!IsValidModel(model) || !Enum.TryParse(model.Breed, out breed))
            {
                this.Model["message"] = "Invalid data in the fields";

                return(this.View());
            }

            Kitten kitten = new Kitten(model.Name, model.Age, breed);

            using (var db = new FDMCDbContext())
            {
                User user = db.Users.FirstOrDefault(u => u.Username == this.User.Name);

                kitten.OwnerId = user.Id;

                db.Cats.Add(kitten);

                db.SaveChanges();
            }

            this.Model["message"] = "Kitten added!";

            return(this.View());
        }
Exemple #2
0
        public IActionResult Add(AddCatBindingModel model)
        {
            if (!this.TryValidateModel(model))
            {
                ViewData["Message"] = "Error!";

                return(View());
            }

            Cat cat = new Cat()
            {
                Name     = model.Name,
                Age      = model.Age,
                Breed    = model.Breed,
                ImageUrl = model.ImageUrl
            };

            int id = 0;

            using (var db = new FDMCDbContext())
            {
                db.Cats.Add(cat);

                db.SaveChanges();

                id = cat.Id;
            }

            return(RedirectToAction("Details", new { id }));
        }
Exemple #3
0
        public IActionResult Login(LoginUserBindingModel model)
        {
            this.SetupLayoutHtml();

            if (!IsValidModel(model))
            {
                this.Model["message"] = "Invalid data in the fields!";
            }

            using (var db = new FDMCDbContext())
            {
                string passwordHash = PasswordUtilities.GetHash(model.Password);

                bool userIsValid = db.Users.Any(u => u.Username == model.Username && u.Password == passwordHash);

                if (!userIsValid)
                {
                    this.Model["message"] = "Invalid username or password!";

                    return(View());
                }

                this.SignIn(model.Username);

                return(new RedirectResult("/home/wellcome"));
            }
        }
        public IActionResult All()
        {
            this.SetupLayoutHtml();

            using (var db = new FDMCDbContext())
            {
                List <Kitten> list = db.Cats.ToList();

                StringBuilder result = new StringBuilder();

                foreach (var kitten in list)
                {
                    string imageSource = PartialViews.ImageSource[(int)kitten.Breed];
                    string kittenView  = String.Format(PartialViews.KittenView,
                                                       imageSource,
                                                       kitten.Name,
                                                       kitten.Age,
                                                       kitten.Breed.ToString());
                    result.AppendLine(kittenView);
                }

                this.Model["allKittens"] = result.ToString();
            }

            return(this.View());
        }
Exemple #5
0
        public List <CatView> AllCatsView()
        {
            using (var db = new FDMCDbContext())
            {
                var cats = db.Cats.Select(c => new CatView {
                    Name     = c.Name,
                    Age      = c.Age,
                    Breed    = c.Breed,
                    ImageUrl = c.ImageUrl
                })
                           .ToList();

                return(cats);
            }
        }
Exemple #6
0
        public static void Main()
        {
            using (var db = new FDMCDbContext())
            {
                db.Database.Migrate();
            }

            int port = 55000;

            WebServer server = new WebServer(
                port,
                new ControllerRouter(),
                new ResourceRouter()
                );

            MvcEngine.Run(server);
        }
Exemple #7
0
        public IActionResult Register(RegisterUserBindingModel model)
        {
            this.SetupLayoutHtml();

            if (model.Password != model.ConfirmPassword)
            {
                this.Model["message"] = "Confirm password doesnt match";

                return(View());
            }

            if (!IsValidModel(model))
            {
                this.Model["message"] = "Invalid data in the fields!";

                return(View());
            }
            string passwordHash = PasswordUtilities.GetHash(model.Password);

            User user = new User(model.Username, passwordHash, model.Email);

            using (var db = new FDMCDbContext())
            {
                if (db.Users.Select(u => u.Username).Contains(user.Username))
                {
                    this.Model["message"] = "Username is allready taken!";

                    return(View());
                }

                db.Users.Add(user);

                db.SaveChanges();
            }

            return(this.Login("Successful registration!"));
        }
Exemple #8
0
        public IActionResult Details(int id)
        {
            using (var db = new FDMCDbContext())
            {
                var cat = db.Cats.FirstOrDefault(c => c.Id == id);

                if (cat == null)
                {
                    ViewData["Message"] = "Error! There is no such cat!";

                    return(View());
                }

                var catView = new CatView()
                {
                    Name     = cat.Name,
                    Age      = cat.Age,
                    Breed    = cat.Breed,
                    ImageUrl = cat.ImageUrl
                };

                return(View(catView));
            }
        }
 public IndexModel(FDMCDbContext dbContext)
 {
     this.dbContext = dbContext;
     this.Cats      = new List <Cat>();
 }
Exemple #10
0
 public HomeController(FDMCDbContext dbContext)
 {
     this.dbContext = dbContext;
 }
Exemple #11
0
 public CatController(FDMCDbContext dbContext)
 {
     this.dbContext = dbContext;
 }
 public AddCatModel(FDMCDbContext dbContext)
 {
     this.dbContext = dbContext;
 }
 public BaseController(FDMCDbContext context)
 {
     this.Context = context;
 }
 public HomeController(FDMCDbContext context) : base(context)
 {
 }
 public CatsController(FDMCDbContext context) : base(context)
 {
 }
 public CatService(FDMCDbContext context)
 {
     this.context = context;
 }
Exemple #17
0
 public CatsController(FDMCDbContext context)
 {
     this.Context = context;
 }
 public HomeService(FDMCDbContext context)
 {
     this.context = context;
 }
 public CatController(FDMCDbContext db)
 {
     this.db = db;
 }
Exemple #20
0
 public DetailsModel(FDMCDbContext dbContext)
 {
     this.dbContext = dbContext;
 }
 public HomeController(FDMCDbContext context)
 {
     this.context = context;
 }
 protected BaseController()
 {
     DbContext = new FDMCDbContext();
 }