/// <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;
            }
        }