示例#1
0
        public HttpResponseMessage GetById(int autoPartId)
        {
            var responseMsg = this.ExceptionHandler(
                () =>
            {
                var context = new AutoMorgueContext();

                var autoPart = context.AutoParts.Where(p => p.Id == autoPartId).FirstOrDefault();

                var model = new ReturnedAutoPartModel
                {
                    Id         = autoPart.Id,
                    Name       = autoPart.Name,
                    MorgueName = autoPart.Morgue.Name,
                    Price      = autoPart.Price,
                    Quantity   = autoPart.Quantity,
                    Category   = autoPart.Category.Name
                };

                var response = this.Request.CreateResponse(HttpStatusCode.OK, model);

                return(response);
            });

            return(responseMsg);
        }
示例#2
0
        public HttpResponseMessage SaleAutoPart(AutoPartSaleModel model)
        {
            var responseMsg = this.ExceptionHandler(
                () =>
            {
                var context = new AutoMorgueContext();

                //TODO: Validate Data
                //UserDataPersister.ValidateUsername(model.Name);
                //UserDataPersister.ValidateNickname(model.Location);
                //UserDataPersister.ValidateAuthCode(model.PhoneNumber);
                var curAutoPart = context.AutoParts.Where(a => a.Id == model.Id).FirstOrDefault();

                curAutoPart.Quantity = model.Quantity;

                context.SaveChanges();

                var autoPartModel = new ReturnedAutoPartModel
                {
                    Id         = curAutoPart.Id,
                    Name       = curAutoPart.Name,
                    MorgueName = curAutoPart.Morgue.Name,
                    Price      = curAutoPart.Price,
                    Quantity   = curAutoPart.Quantity,
                    Category   = curAutoPart.Category.Name
                };

                var response = this.Request.CreateResponse(HttpStatusCode.OK, autoPartModel);

                return(response);
            });

            return(responseMsg);
        }
示例#3
0
        public HttpResponseMessage UpdateAutoPart(
            [ValueProvider(typeof(HeaderValueProviderFactory <string>))] string sessionKey, AutoPartUpdateModel model)
        {
            var responseMsg = this.ExceptionHandler(
                () =>
            {
                var context = new AutoMorgueContext();

                var users = context.Users;
                var user  = users.FirstOrDefault(
                    usr => usr.SessionKey == sessionKey);

                if (user.Role.Name != "admin")
                {
                    throw new InvalidOperationException("You don't have permission to edit auto parts.");
                }

                var curAutoPart = context.AutoParts.Where(a => a.Id == model.Id).FirstOrDefault();

                if (curAutoPart.Name != model.Name)
                {
                    curAutoPart.Name = model.Name;
                }

                if (curAutoPart.Price != model.Price)
                {
                    curAutoPart.Price = model.Price;
                }

                if (curAutoPart.Quantity != model.Quantity)
                {
                    curAutoPart.Quantity = model.Quantity;
                }

                context.SaveChanges();

                var autoPartModel = new ReturnedAutoPartModel
                {
                    Id         = curAutoPart.Id,
                    Name       = curAutoPart.Name,
                    MorgueName = curAutoPart.Morgue.Name,
                    Price      = curAutoPart.Price,
                    Quantity   = curAutoPart.Quantity,
                    Category   = curAutoPart.Category.Name
                };

                var response = this.Request.CreateResponse(HttpStatusCode.OK, autoPartModel);

                return(response);
            });

            return(responseMsg);
        }