private void CopyToModel(CatProdServViewModel viewModel, Cat_ProductosServicios model)
 {
     model.Pk_ProductoServicio = viewModel.Pk_ProductoServicio;
     model.Pk_Empresa          = viewModel.Pk_Empresa;
     model.Clave_ProdServ_SAT  = viewModel.Clave_ProdServ_SAT;
     model.Clave_Ident         = viewModel.Clave_Ident;
     model.CodigoBarras        = viewModel.CodigoBarras;
     model.Clave_Unidad_SAT    = viewModel.Clave_Unidad_SAT;
     model.Unidad = viewModel.Unidad;
     model.Descripcion_ProdServ_Base = viewModel.Descripcion_ProdServ_Base;
     model.PrecioBase    = viewModel.PrecioBase;
     model.IVAT          = viewModel.IVAT;
     model.IEPST         = viewModel.IEPST;
     model.IVAR          = viewModel.IVAR;
     model.ISRR          = viewModel.ISRR;
     model.IEstatal      = viewModel.IEstatal;
     model.OtraRetencion = viewModel.OtraRetencion;
 }
        public async Task <IActionResult> Post(string values)
        {
            var model      = new Cat_ProductosServicios(_uow);
            var viewModel  = new CatProdServViewModel();
            var valuesDict = JsonConvert.DeserializeObject <IDictionary>(values);

            PopulateViewModel(viewModel, valuesDict);

            if (!TryValidateModel(viewModel))
            {
                return(BadRequest(GetFullErrorMessage(ModelState)));
            }

            CopyToModel(viewModel, model);

            await _uow.CommitChangesAsync();

            return(Json(model.Pk_ProductoServicio));
        }