public IActionResult Post([FromBody] Product entity)
        {
            IActionResult ret = null;

            try
            {
                using (var db = new CFEDbContext())
                {
                    if (entity != null)
                    {
                        db.Products.Add(entity);
                        db.SaveChanges();
                        ret = StatusCode(StatusCodes.Status201Created,
                                         entity);
                    }
                    else
                    {
                        ret = StatusCode(StatusCodes.Status400BadRequest, "Invalid object passed to POST method");
                    }
                }
            }
            catch (Exception ex)
            {
                ret = HandleException(ex, "Exception trying to insert a new product");
            }

            return(ret);
        }
        public IActionResult Get()
        {
            IActionResult  ret  = null;
            List <Product> list = new List <Product>();

            try
            {
                using (var db = new CFEDbContext())
                {
                    if (db.Products.Count() > 0)
                    {
                        list = db.Products.OrderBy(p => p.ProductName).ToList();
                        ret  = StatusCode(StatusCodes.Status200OK, list);
                    }
                    else
                    {
                        ret = StatusCode(StatusCodes.Status404NotFound, "Can't Find Products");
                    }
                }
            }
            catch (Exception ex)
            {
                ret = HandleException(ex, "Exception trying to get all products");
            }

            return(ret);
        }
        public IActionResult Get(int id)
        {
            IActionResult ret    = null;
            Product       entity = null;

            try
            {
                using (var db = new CFEDbContext())
                {
                    entity = db.Products.Find(id);
                    if (entity != null)
                    {
                        ret = StatusCode(StatusCodes.Status200OK, entity);
                    }
                    else
                    {
                        ret = StatusCode(StatusCodes.Status404NotFound,
                                         "Can't Find Product: " + id.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                ret = HandleException(ex,
                                      "Exception trying to retrieve a single product.");
            }

            return(ret);
        }
        public IActionResult Delete(int id)
        {
            IActionResult ret    = null;
            Product       entity = null;

            try
            {
                using (var db = new CFEDbContext())
                {
                    entity = db.Products.Find(id);
                    if (entity != null)
                    {
                        db.Products.Remove(entity);
                        db.SaveChanges();
                    }
                    ret = StatusCode(StatusCodes.Status200OK, true);
                }
            }
            catch (Exception ex)
            {
                ret = HandleException(ex, "Exception trying to delete product: " + id.ToString());
            }

            return(ret);
        }
        public IActionResult Put([FromBody] Product entity)
        {
            IActionResult ret = null;

            try
            {
                using (var db = new CFEDbContext())
                {
                    if (entity != null)
                    {
                        db.Update(entity);
                        db.SaveChanges();
                        ret = StatusCode(StatusCodes.Status200OK, entity);
                    }
                    else
                    {
                        ret = StatusCode(StatusCodes.Status400BadRequest, "Invalid object passed to PUT method");
                    }
                }
            }
            catch (Exception ex)
            {
                ret = HandleException(ex, "Exception trying to update product: " + entity.ProductId.ToString());
            }

            return(ret);
        }
예제 #6
0
        public IActionResult Get()
        {
            IActionResult   ret  = null;
            List <Category> list = new List <Category>();

            try
            {
                using (var db = new CFEDbContext())
                {
                    if (db.Categories.Count() > 0)
                    {
                        // NOTE: Declare 'list' outside the using to avoid
                        // it being disposed before it is returned.
                        list = db.Categories.OrderBy(p => p.CategoryName).ToList();
                        ret  = StatusCode(StatusCodes.Status200OK, list);
                    }
                    else
                    {
                        ret = StatusCode(StatusCodes.Status404NotFound,
                                         "Can't Find Categories");
                    }
                }
            }
            catch (Exception ex)
            {
                ret = HandleException(ex,
                                      "Exception trying to get all Categories");
            }

            return(ret);
        }
예제 #7
0
        protected List <AppUserClaim> GetUserClaims(AppUser authUser)
        {
            List <AppUserClaim> list = new List <AppUserClaim>();

            try
            {
                using (var db = new CFEDbContext())
                {
                    list = db.Claims.Where(
                        u => u.UserId == authUser.UserId).ToList();
                }
            }
            catch (Exception ex)
            {
                throw new Exception(
                          "Exception trying to retrieve user claims.", ex);
            }

            return(list);
        }
예제 #8
0
        public AppUserAuth ValidateUser(AppUser user)
        {
            AppUserAuth ret      = new AppUserAuth();
            AppUser     authUser = null;

            using (var db = new CFEDbContext())
            {
                // Attempt to validate user
                authUser = db.Users.Where(
                    u => u.UserName.ToLower() == user.UserName.ToLower() &&
                    u.Password == user.Password).FirstOrDefault();
            }

            if (authUser != null)
            {
                // Build User Security Object
                ret = BuildUserAuthObject(authUser);
            }

            return(ret);
        }