/// <summary> /// El nomde del blob debe estar en minuscula /// </summary> /// <param name="entidad"></param> public object insert(dynamic entidad) { inicializarContenedor(entidad); //Si la entidad esta en estado eliminar if (Convert.ToInt32(entidad.Estado_Entidad) == 2) { string partitionKey = Convert.ToString(entidad.PartitionKey); string rowkey = Convert.ToString(entidad.RowKey); Delete(entidad.PartitionKey, entidad.RowKey, entidad.nombreTabla); } else { if (Convert.ToBoolean(entidad.generarIdentificador)) { //Generando ids consecutivos entidad.RowKey = Variables_Globales.GetUniqueId().ToString(); entidad.generarIdentificador = false; } string partitionKey = Convert.ToString(entidad.PartitionKey); string rowkey = Convert.ToString(entidad.RowKey); var document = JsonConvert.SerializeObject(entidad, Newtonsoft.Json.Formatting.Indented); var blobUrl = (Uri)UploadDocument(partitionKey, rowkey, document, entidad.nombreTabla); saveToTableStorage(entidad, blobUrl); } return(entidad); }
public void insert(dynamic entidad) { try { var client = storageAccount.CreateCloudTableClient(); client.DefaultRequestOptions = new TableRequestOptions() { PayloadFormat = TablePayloadFormat.JsonNoMetadata }; var table = client.GetTableReference(entidad.nombreTabla); validarTableExist(client, entidad.nombreTabla); table.CreateIfNotExists(); //Si la entidad esta en estado eliminar if (Convert.ToInt32(entidad.Estado_Entidad) == 2) { string partitionKey = Convert.ToString(entidad.PartitionKey); string rowkey = Convert.ToString(entidad.RowKey); delete(entidad.nombreTabla, partitionKey, rowkey); } else { if (Convert.ToBoolean(entidad.generarIdentificador)) { //Generando ids consecutivos entidad.RowKey = Variables_Globales.GetUniqueId().ToString(); entidad.generarIdentificador = false; } string partitionKey = Convert.ToString(entidad.PartitionKey); string rowkey = Convert.ToString(entidad.RowKey); dynamic entity = new DynamicObjectTableEntity(partitionKey, rowkey); ReflectPropertyValue(entidad, ref entity); table.Execute(TableOperation.InsertOrReplace(entity)); } } catch (Exception ex) { throw ex; } }
private dynamic proccessEntity(dynamic entidad, TableBatchOperation batchOperations) { try { //Si la entidad esta en estado eliminar if (Convert.ToInt32(entidad.Estado_Entidad) == 2) { string partitionKey = Convert.ToString(entidad.PartitionKey); string rowkey = Convert.ToString(entidad.RowKey); delete(entidad.nombreTabla, partitionKey, rowkey); } else { if (Convert.ToBoolean(entidad.generarIdentificador)) { //Generando ids consecutivos entidad.RowKey = Variables_Globales.GetUniqueId().ToString(); entidad.generarIdentificador = false; } string partitionKey = Convert.ToString(entidad.PartitionKey); string rowkey = Convert.ToString(entidad.RowKey); dynamic entity = new DynamicObjectTableEntity(partitionKey, rowkey); ReflectPropertyValue(entidad, ref entity); var entidadInsertar = TableOperation.InsertOrReplace(entity); batchOperations.Add(entidadInsertar); } return(entidad); } catch (Exception ex) { throw ex; } }