public DataCenterLogic.DDPServerTypes.Response DDPRequest(DataCenterLogic.DDPServerTypes.DDPRequestType DDPRequest1) { DataCenterLogic.DDPServerTypes.DDPRequestRequest inValue = new DataCenterLogic.DDPServerTypes.DDPRequestRequest(); inValue.DDPRequest = DDPRequest1; DataCenterLogic.DDPServerTypes.DDPRequestResponse retVal = ((DataCenterLogic.DDPServerTypes.ddpPortType)(this)).DDPRequest(inValue); return(retVal.Response); }
/// <summary> /// Transforma un DDPRequestType en un DDPRequestSent /// </summary> /// <param name="ddpRequest">DDPRequestType</param> /// <returns>DDPRequestSent</returns> public static DDPRequestSent Map2DB(DataCenterLogic.DDPServerTypes.DDPRequestType ddpRequest) { DDPRequestSent retDDPRequest = new DDPRequestSent(); retDDPRequest.ArchivedDDPTimeStamp = ddpRequest.ArchivedDDPTimeStamp.Year == 1 ? DateTime.UtcNow : ddpRequest.ArchivedDDPTimeStamp; retDDPRequest.ArchivedDDPTimeStampSpecified = ddpRequest.ArchivedDDPTimeStampSpecified ? 1 : 0; retDDPRequest.ArchivedDDPVersionNum = ddpRequest.ArchivedDDPVersionNum; retDDPRequest.DDPVersionNum = ddpRequest.DDPVersionNum; retDDPRequest.MessageId = ddpRequest.MessageId; retDDPRequest.MessageType = ToInt(ddpRequest.MessageType); retDDPRequest.Originator = ddpRequest.Originator; retDDPRequest.schemaVersion = ddpRequest.schemaVersion; retDDPRequest.test = ToInt(ddpRequest.test); retDDPRequest.TimeStamp = ddpRequest.TimeStamp; retDDPRequest.UpdateType = ToInt(ddpRequest.UpdateType); return(retDDPRequest); }
/// <summary> /// Procesa un mensaje de tipo DDP Notification. /// Esta funcion incorpora el mensaje a la base de datos y pide al DDP un requerimiento de actualizacion /// </summary> /// <param name="msg">Mensaje DDPNotification</param> public void ProcessDDPNotification(DDPNotificationType ddpNotification) { var ddpRequest = new DataCenterLogic.DDPServerTypes.DDPRequestType(); ConfigurationManager configMgr = new ConfigurationManager(); var dver = new DDPVersionDataAccess(); var ver = dver.TodaysDDP(); ddpRequest.ArchivedDDPTimeStamp = DateTime.UtcNow; ddpRequest.ArchivedDDPTimeStampSpecified = false; ddpRequest.ArchivedDDPVersionNum = null; ddpRequest.DDPVersionNum = ver.regularVer + ":" + ver.inmediateVer; ddpRequest.MessageId = MessageIdManager.Generate(); ddpRequest.MessageType = DataCenterLogic.DDPServerTypes.messageTypeType.Item9; ddpRequest.Originator = configMgr.Configuration.DataCenterID; ddpRequest.schemaVersion = decimal.Parse(configMgr.Configuration.SchemaVersion); ddpRequest.test = DataCenterLogic.DDPServerTypes.testType.Item1; ddpRequest.TimeStamp = DateTime.UtcNow; //Si el notification es 0 (Regular) pedimos regular if (ddpNotification.UpdateType == DDPNotificationTypeUpdateType.Item0) { ddpRequest.UpdateType = DataCenterLogic.DDPServerTypes.DDPRequestTypeUpdateType.Item0; } //Si el notification es 1 (Inmediate) pedimos inmediate if (ddpNotification.UpdateType == DDPNotificationTypeUpdateType.Item1) { ddpRequest.UpdateType = DataCenterLogic.DDPServerTypes.DDPRequestTypeUpdateType.Item1; } //Enqueue DDPrequest Message msgout = new Message(ddpRequest); msgout.Label = "ddpRequest"; QueueManager.Instance().EnqueueOut(msgout); using (DDPNotificationDataAccess dao = new DDPNotificationDataAccess()) { dao.Create(TypeHelper.Map2DB(ddpNotification), 0); } log.Info("DDPNotification successfully processed"); }
public DDPRequestRequest(DataCenterLogic.DDPServerTypes.DDPRequestType DDPRequest) { this.DDPRequest = DDPRequest; }
public ActionResult CreateAndSendDDPRequest() { var ddpRequest = new DataCenterLogic.DDPServerTypes.DDPRequestType(); string archivedVersion = Request.Params["archivedVersion"]; int updateType = int.Parse(Request.Params["updateType"]); string archivedTimeStamp = Request.Params["archivedTimeStamp"]; ViewData["archivedVersion"] = archivedVersion; ViewData["updateType"] = updateType; ViewData["archivedTimeStamp"] = archivedTimeStamp; DateTime test = DateTime.UtcNow; if (updateType == 4 && DateTime.TryParse(archivedTimeStamp, out test) == false) { ViewData["error"] = "Fecha invalida"; return(View("NewDDPRequest")); } if (updateType == 4 && archivedVersion.Trim().Length == 0) { ViewData["error"] = "Version no especificada"; return(View("NewDDPRequest")); } ddpRequest.ArchivedDDPVersionNum = null; ddpRequest.ArchivedDDPTimeStamp = DateTime.UtcNow; ddpRequest.ArchivedDDPTimeStampSpecified = false; if (updateType == 4) { ddpRequest.ArchivedDDPTimeStampSpecified = true; ddpRequest.ArchivedDDPTimeStamp = DateTime.Parse(archivedTimeStamp).ToUniversalTime(); } switch (updateType) { case 0: ddpRequest.UpdateType = DataCenterLogic.DDPServerTypes.DDPRequestTypeUpdateType.Item0; break; case 1: ddpRequest.UpdateType = DataCenterLogic.DDPServerTypes.DDPRequestTypeUpdateType.Item1; break; case 2: ddpRequest.UpdateType = DataCenterLogic.DDPServerTypes.DDPRequestTypeUpdateType.Item2; break; case 3: ddpRequest.UpdateType = DataCenterLogic.DDPServerTypes.DDPRequestTypeUpdateType.Item3; break; case 4: ddpRequest.UpdateType = DataCenterLogic.DDPServerTypes.DDPRequestTypeUpdateType.Item4; break; } string outQueue = System.Configuration.ConfigurationManager.AppSettings["CoreOutQueue"]; QueueManager.Instance().SetOut(outQueue); var mgr = new DataCenterLogic.DDPManager(); QueueManager.Instance().EnqueueOut(mgr.MakeDDPRequest(ddpRequest)); return(View("Sent")); }