예제 #1
0
        public ProductProjectModule(IProductProjectService productProjectService) : base("/productproject")
        {
            this._productProjectService = productProjectService;

            this.Post(
                "/",
                parameters =>
            {
                try
                {
                    var productProject = this.Bind <ProductProject>();

                    var serviceReturn = new ServiceReturn <ProductProject>();

                    //serviceReturn.Data = this._productProjectService.Save(productProject);

                    serviceReturn.Success = true;

                    return(this.GetJsonResponse(serviceReturn));
                }
                catch (Exception e)
                {
                    return(this.Negotiate.WithStatusCode(HttpStatusCode.InternalServerError));
                }
            });
        }
예제 #2
0
        public ProductModule(IProductService productService, IProductProjectService productProjectService) : base("lookup")
        {
            this._productService        = productService;
            this._productProjectService = productProjectService;

            this.Get(
                "/products",
                parameters =>
            {
                try
                {
                    var products = this._productService.Get().ToList();

                    return(this.GetJsonResponse(products));
                }
                catch (Exception e)
                {
                    return(this.Negotiate.WithStatusCode(HttpStatusCode.InternalServerError));
                }
            });

            this.Get(
                "/products/{projectid}",
                parameters =>
            {
                try
                {
                    var projectId = parameters.projectid;

                    var products = this._productService.GetAllForProject(projectId);
                    return(this.GetJsonResponse(products));
                }
                catch (Exception e)
                {
                    return(this.Negotiate.WithStatusCode(HttpStatusCode.InternalServerError));
                }
            });

            this.Post(
                "/projects/{projectid}/products",
                parameters =>
            {
                try
                {
                    var projectId = parameters.projectid;

                    var products      = this.Bind <List <Product> >();
                    var serviceReturn = new ServiceReturn <List <ProductProject> >();

                    serviceReturn.Data = this._productProjectService.Save(products, projectId);

                    serviceReturn.Success = true;

                    return(this.GetJsonResponse(serviceReturn));
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    throw;
                }
            });
        }