Ejemplo n.º 1
0
        public ResponseObject Put_Instance(string instance_matches, string bodyData)
        {
            Dictionary <string, Validator.StatusCode> objInstances  = new Dictionary <string, Validator.StatusCode>(),
                                                      objParameters = new Dictionary <string, Validator.StatusCode>(),
                                                      objUpdater    = new Dictionary <string, Validator.StatusCode>();

            #region validación de instancias
            objInstances["matches"] = Validator.StatusCode.Success;
            if (string.IsNullOrWhiteSpace(instance_matches))
            {
                objInstances["matches"] = Validator.StatusCode.MissingField;
            }
            #endregion

            #region validación de campos del updater
            var json_fields = new List <string> {
                { "title" }
            };
            var json_updater = ServiceBase.DeserializeUpdater(bodyData, json_fields, true);
            if (json_updater.Count == 0)
            {
                objUpdater["*"] = Validator.StatusCode.InvalidFormat;
            }
            else
            {
                foreach (var field in json_fields)
                {
                    objUpdater[field] = Validator.StatusCode.Success;
                }
            }
            #endregion

            var valInstances  = Validator.GroupFieldsByStatus(objInstances);
            var valParameters = Validator.GroupFieldsByStatus(objParameters);
            var valUpdater    = Validator.GroupFieldsByStatus(objUpdater);
            if (valInstances.Any(error => error["statuscode"].ToString() != "1") || valParameters.Any(error => error["statuscode"].ToString() != "1") || valUpdater.Any(error => error["statuscode"].ToString() != "1"))
            {
                var validation = new Dictionary <string, object> {
                    { "instances", valInstances }, { "parameters", valParameters }, { "updater", valUpdater }
                };
                return(Response.BuildMessage(HttpStatusCode.BadRequest, ResponseMsgs.BuildError(Response.CodeTypes.BadParameters, validation)));
            }
            else
            {
                return(put_matches_instance(instance_matches, bodyData));
            }
        }