Ejemplo n.º 1
0
        public IActionResult ChangeProductFileBoolean([FromBody] JObject param)
        {
            ProductFile productFile = null;

            try
            {
                long   id           = param.JGetPropVal <long>("id");
                long   productId    = param.JGetPropVal <long>("productId");
                string action       = param.JGetPropVal <string>("action");
                bool?  appearDetail = param.JGetPropVal <bool?>("appearDetail");
                bool?  isListImage  = param.JGetPropVal <bool?>("isListImage");
                short? status       = param.JGetPropVal <short?>("status");

                if (id > 0 && !string.IsNullOrEmpty(action))
                {
                    productFile = _dbi.GetProductFiles(productId, productFileID: id).FirstOrDefault();

                    if (productFile != null)
                    {
                        productFile.RegisterForRecordStateChange();

                        switch (action.ToLower())
                        {
                        case "appeardetail":

                            if (appearDetail != null)
                            {
                                productFile.AppearDetail = appearDetail.Value;
                            }

                            break;

                        case "islistimage":

                            if (isListImage != null)
                            {
                                productFile.IsListImage = isListImage.Value;
                            }

                            break;

                        case "status":

                            if (status != null)
                            {
                                productFile.Status = (ModelStatus)status.Value;
                            }

                            break;
                        }

                        productFile.RegisterForRecordStateChange();

                        productFile = _dbi.ManageModel(productFile);
                    }
                }

                return(Json(productFile == null ? new { notFound = true } : productFile.Simplify()));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
            finally
            {
                productFile = null;
            }
        }