public int Invoke(DateTime processStart, NaesbScheduledQuantities naesbObj) { //serialize into naesb XmlDocument XmlDocument naesbXml = CS.Common.Utilities.XmlTransformer.XmlSerialize(naesbObj, true); int id = CreateScheduledQuantities(processStart, null, naesbObj, naesbXml); return(id); }
public ScheduledQuantities Invoke(FileInfo file) { //deserialize GENTRAN EDI translated .xml file into Naesb EDI XmlDocument XmlDocument ediXml = CS.Common.Utilities.XmlTransformer.ConvertToXmlDocument(file, true); //deserialize XmlDocument into NaesbScheduledQuantities naesbObj NaesbScheduledQuantities naesbObj = CS.Common.Utilities.XmlTransformer.XmlDeserialize <NaesbScheduledQuantities>(ediXml.InnerXml); //map NaesbScheduledQuantities to ScheduledQuantities ScheduledQuantities osq = Map(new Common.ModelFactory().Map(naesbObj)); return(osq); }
public IHttpActionResult Get(int id) { NaesbScheduledQuantities obj = _container.Resolve <INaesbOperatorScheduledQuantitiesGet>().Invoke(id); if (obj != null) { return(Ok(obj)); } return(NotFound()); }
public int Invoke(DateTime processStart, FileInfo file) { //serialize naesb translated .xml file into naesb XmlDocument XmlDocument naesbXml = CS.Common.Utilities.XmlTransformer.ConvertToXmlDocument(file, true); //deserialize XmlDocument into NaesbConfirmationResponse naesbObj NaesbScheduledQuantities naesbObj = CS.Common.Utilities.XmlTransformer.XmlDeserialize <NaesbScheduledQuantities>(naesbXml.InnerXml); int id = CreateScheduledQuantities(processStart, file.Name, naesbObj, naesbXml); return(id); }
public IHttpActionResult Post(NaesbScheduledQuantities value) { try { int id = _container.Resolve <INaesbOperatorScheduledQuantitiesCreate>().Invoke(DateTime.Now, value); if (id > 0) { string location = Request.RequestUri + "/" + id; return(Created(location, id)); } } catch (NaesbError ex) { if (ex.ReasonCode == "101") { return(Conflict()); } } return(BadRequest()); }
public ScheduledQuantities Invoke(NaesbScheduledQuantities obj) { //map NaesbScheduledQuantities to ScheduledQuantities return(Map(new Nomination.BusinessLayer.Common.ModelFactory().Map(obj))); }
private int CreateScheduledQuantities(DateTime processStart, string fileName, NaesbScheduledQuantities naesbObj, XmlDocument naesbXml) { //map NaesbScheduledQuantities to ScheduledQuantities Nomination.Domain.ScheduledQuantities.ScheduledQuantities osq = _scheduledQuantityEventGetService.Invoke(naesbObj); //serialize to xml XmlDocument domainXml = CS.Common.Utilities.XmlTransformer.XmlSerialize(osq, true); //instantiate naesb event process NaesbEventProcess obj = new NaesbEventProcess { Type = "OSQ", GasDay = osq.GasDay, Cycle = osq.Cycle, Pipeline = osq.PartyIndentificaton.PipelineEntity, Utility = osq.PartyIndentificaton.UtilityEntity, ProcessStart = processStart, EdiFileName = fileName, EdiData = naesbXml.InnerXml, DomainData = domainXml.InnerXml, UserId = _settings.UserId }; //get the naesb event var naesbEvent = _naesbEventGetService.Invoke("OSQ", obj.Pipeline, obj.Utility, obj.Cycle); if (naesbEvent != null && naesbEvent.On == true) //if null then the pipeline/utility/cycle doesn't exist in Pegasys { //create naesb event process int eventProcessId = _naesbEventProcessCreateService.Invoke(obj); //create the ScheduledQuantities _scheduledQuantityEventCreateService.Invoke(osq); //TODO: maybe make this use its own class instead of generic -> NaesbEventProcessCompletion //update ProcessEnd timestamp _naesbEventProcessUpdateService.Invoke(eventProcessId, new KeyValuePair <string, DateTime>("ProcessEnd", DateTime.Now)); return(eventProcessId); } throw new NaesbError { ReasonCode = "101", Value = "Pipeline/Utility/Cycle naesb event not found." }; }