/// <summary> /// /// Envia contenido a keepcont /// Establece el tiempo de envio a cada post y almacena el resultado de envio /// </summary> /// <param name="import"></param> /// <returns> /// Como respuesta al envío, Keepcon envia una respuesta confirmando que se /// recibió con éxito un lote de contenidos, junto con el identificador de lote /// asignado a dicho envío. response.setId , response.status /// /// Puede retornar status= ERROR con lo cual se retorna errorMessage = descripcion del error /// </returns> internal static string SendContent(Allus.Keepcon.Import.Import import) { DateTime datetime = System.DateTime.Now; string result = string.Empty; //try //{ //if (import.Contents.Count == 1) // result = HttpPUT(url_send_content_synk, import.GetXml()); //else result = HttpPUT(url_send_content_asynk, import.GetXml()); //} //catch (Exception ex) //{ // return Fwk.Exceptions.ExceptionHelper.GetAllMessageException(ex); //} //TODO: Es obligatorio implementar un mecanismo de reintentos. si result = ERROR Response response = (Response)Fwk.HelperFunctions.SerializationFunctions.DeserializeFromXml(typeof(Response), result); if (!response.Status.Equals("ERROR")) { Set_SendedTime(import, response, datetime); } else { //Registrar el error } return(result); }
static void Set_SendedTime(Import.Import import, Response response, DateTime datetime) { using (BB_MovistarSM_LogsEntities dc = new BB_MovistarSM_LogsEntities()) { foreach (Import.Content c in import.Contents) { var post = dc.KeepconPost.Where(s => s.PostID.Equals(c.Id)).FirstOrDefault(); post.keepcon_send_date = datetime; post.keepcon_send_setId = response.SetGuid; } dc.SaveChanges(); } }