protected override IList <Request> GetRequestsForTask(Guid taskId)
        {
            var requests = new List <Request>();
            var items    = _queueRepository.ListByTask(taskId, TotalItems);

            var formatter = new SissyboyReadyForPickupFormatter();

            foreach (var item in items)
            {
                var content = formatter.GetJsonContent(item.Key, Properties);

                var request = new Request(item.Id, (int)item.Key, content);

                requests.Add(request);
            }

            return(requests);
        }
示例#2
0
        protected override IList <Request> GetRequestsForTask(Guid taskId)
        {
            var requests = new List <Request>();
            var items    = _queueRepository.ListByTask(taskId, TotalItems);

            var formatter = new PostNLShipmentFormatter();

            foreach (var item in items)
            {
                var content = formatter.GetJsonContent(item.Key, Properties);

                if (content != null)
                {
                    var request = new Request(item.Id, (int)item.Key, content);
                    requests.Add(request);
                }
            }

            return(requests);
        }
示例#3
0
        protected override IList <Request> GetRequestsForTask(Guid taskId)
        {
            var requests = new List <Request>();
            var items    = queueRepository.ListByTask(taskId, TotalItems);

            var formatter = new GenericFormatter();

            foreach (var item in items)
            {
                var content = formatter.GetJsonContent(item.Id, Properties);

                if (!String.IsNullOrEmpty(content))
                {
                    var request = new Request(item.Id, (int)item.Key, content, true);

                    requests.Add(request);
                }
            }

            return(requests);
        }
示例#4
0
        public override IList <Request> Prepare(Task task)
        {
            var dateNow  = DateTime.Now;
            var items    = _queueRepository.ListByTask(task.Id, 100);
            var requests = new List <Request>();

            if (items.Count() > 0)
            {
                int id = 0;
                foreach (var format in Formats)
                {
                    var formatter = new POSFormatter(format);

                    var lines = new List <string>();
                    lines.Add("DDA:" + dateNow.ToString("ddMMyyyy"));
                    lines.Add("DTI:" + dateNow.ToString("HHmm"));
                    lines.Add("DTO:" + items.Count());

                    var nbg  = 1;
                    var ids  = new List <int>();
                    var keys = new List <int>();
                    foreach (var item in items)
                    {
                        var response = new Response();

                        var result = formatter.getContent(item.Key);
                        if (result.Count > 0)
                        {
                            lines.Add("");
                            lines.Add("NBG:" + nbg);
                            lines.Add("NNT:Order");
                            lines.AddRange(result);
                            lines.Add("FEN:" + nbg++);

                            ids.Add(item.Id);
                            keys.Add(item.Key);
                        }
                    }

                    var contentFormat = Enum.GetName(typeof(ContentFormat), format);
                    var path          = Path.GetTempPath() + @"\EEK_ORDER." + contentFormat;

                    var body = new RequestBody()
                    {
                        Subject    = "De Eekhoorn Order",
                        Body       = "De inhoud van dit bericht is afkomstig van De Eekhoorn Woodworkings B.V",
                        Ids        = ids,
                        Keys       = keys,
                        Attachment = lines,
                        Path       = path
                    };

                    id++;
                    var request = new Request(id, id, JsonConvert.SerializeObject(body));

                    requests.Add(request);
                }
            }

            return(requests);
        }
        public override void SaveDocuments(Share share, Schedulers.Task task)
        {
            var requests = new List <Request>();
            var items    = queueRepository.ListByTask(task.Id, task.TotalProcessedItems);

            var response = new Response();
            var UNC      = share.UNCPath + DateTime.Now.ToString("-yyyyMMddHHmmss") + ".xml";

            var formatter = new TransmissionFormatter(ContentFormat.XML);

            XmlDocument doc = new XmlDocument();

            XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration("1.0", "UTF-8", null);

            XmlElement root = doc.DocumentElement;

            doc.InsertBefore(xmlDeclaration, root);

            XmlElement opdrachten = doc.CreateElement("oOpdrachten");

            doc.AppendChild(opdrachten);

            IList <string> ids = new List <string>();

            foreach (var item in items)
            {
                var xml = formatter.getXMLContent(doc, item.Key);
                if (xml != null)
                {
                    opdrachten.AppendChild(xml);
                    ids.Add(item.Key.ToString());
                }
            }

            if (ids.Count > 0)
            {
                try
                {
                    doc.Save(UNC);

                    response.Ids         = string.Join(",", ids.ToArray());
                    response.Code        = 201;
                    response.Description = "Created";
                    response.Detail      = UNC + " was saved succesfully";
                }
                catch (Exception)
                {
                    response.Code        = 400;
                    response.Description = "Bad Request";
                    response.Detail      = "There was an error when saving " + UNC;
                }
            }
            else
            {
                response.Code        = 200;
                response.Description = "OK";
                response.Detail      = "There where no items ";
            }

            Responses.Add(response);
        }