public response Update(string fieldValueCollection) { response r = ValidareColoane(fieldValueCollection); if (!r.Status) { return(r); } else { Dictionary <string, string> changes = Newtonsoft.Json.JsonConvert.DeserializeObject <Dictionary <string, string> >(fieldValueCollection, CommonFunctions.JsonDeserializerSettings); foreach (string fieldName in changes.Keys) { PropertyInfo[] props = this.GetType().GetProperties(); foreach (PropertyInfo prop in props) { //var col = CommonFunctions.table_columns(authenticatedUserId, connectionString, "actions"); //if (col != null && col.ToUpper().IndexOf(prop.Name.ToUpper()) > -1 && fieldName.ToUpper() == prop.Name.ToUpper()) // ca sa includem in Array-ul de parametri doar coloanele tabelei, nu si campurile externe si/sau alte proprietati if (fieldName.ToUpper() == prop.Name.ToUpper()) { var tmpVal = prop.PropertyType.FullName.IndexOf("System.Nullable") > -1 && changes[fieldName] == null ? null : prop.PropertyType.FullName.IndexOf("System.String") > -1 ? changes[fieldName] : prop.PropertyType.FullName.IndexOf("System.DateTime") > -1 ? CommonFunctions.SwitchBackFormatedDate(changes[fieldName]) : ((prop.PropertyType.FullName.IndexOf("Double") > -1) ? CommonFunctions.BackDoubleValue(changes[fieldName]) : Newtonsoft.Json.JsonConvert.DeserializeObject(changes[fieldName], prop.PropertyType)); prop.SetValue(this, tmpVal); break; } } } return(this.Update()); } }