Example #1
0
        public override DataServiceExecuteResponse Execute(DataServiceExecuteRequest request)
        {
            var    dto  = request.Data;
            var    uuid = dto.UuidValue;
            RowSet dtoChildrenExceldaten = new RowSet();

            switch (request.MethodName)
            {
            //Verfügbare Methoden:
            //WriteDummy: Erstellt ein Dunmmy Rowset mit der Anzahl der Datenzeilen analog der Zeilenanzahl der Exceldatei, hierdurch ist eine Iteration im Macro möglich
            // um im nächsten Step Clientseitig die Daten einzulesen
            case "WriteDummy":

                int count = request.Data.ContainsField("DTCountExcelRows") ? Conversion.ToInt32(request.Data["DTCountExcelRows"]) : 0;



                for (int i = 0; i < count; i++)
                {
                    Row dtoChild = new Row();
                    if (string.IsNullOrEmpty(dtoChild.UuidValue))
                    {
                        dtoChild.UuidValue = Guid.NewGuid().ToString();
                    }
                    dtoChild.Fill("ID", i);
                    dtoChildrenExceldaten.Add(dtoChild);
                }
                request.Data.SetChild(dtoChildrenExceldaten, "Importdaten");     //Name Importdaten ist der virtuelle Name der Detail Datenstruktur
                break;

            case "WriteData":
                string data        = dto.ContainsField("RowSetExcelDaten")?dto["RowSetExcelDaten"].ToString():"";
                Row    dtoChildren = dto.ContainsChild("Importdaten")?(Row)dto["Importdaten"] : null;
                if (!string.IsNullOrEmpty(data))
                {
                    ArtikelDatenCollection dc = new ArtikelDatenCollection();
                    var ds = Methods.ReadDataSet(data);
                    dtoChildrenExceldaten = Methods.FillMdeImportdaten(ds);
                    request.Data.SetChild(dtoChildrenExceldaten, "Importdaten");
                }
                break;
            }
            //DataContainer dto = request.Data;
            //string uuId = dto.UuidValue;//
            //string lieferant = dto.ContainsField("DTLieferant") ?Conversion.ToString(dto["DTLieferant"], false):String.Empty;
            //string vorlage = dto.ContainsField("DTArtikelvorlage") ? Conversion.ToString(dto["DTArtikelvorlage"], false) : String.Empty;


            //if (string.IsNullOrEmpty(lieferant))
            //{
            //    return DataServiceExecuteResponse.ErrorResponse (new Exception("Es wurde kein Lieferant gewählt!"));
            //}

            //IGenericCommand command = _mandant.MainDevice.GenericConnection.CreateSqlStringCommand("");
            return(DataServiceExecuteResponse.SuccessResponse(request.Data));
        }
Example #2
0
        /// <summary>
        /// returns a List of Artikeldaten
        /// </summary>
        /// <param name="Data"></param>
        /// <returns></returns>
        public static ArtikelDatenCollection ReadDataSet(string Data)
        {
            ArtikelDatenCollection dc = new ArtikelDatenCollection();

            string[] separator = new string[] { "|@@|" };
            var      result    = Data.Split(separator, StringSplitOptions.None).ToList();
            int      index     = 0;

            result.ForEach(r =>
            {
                var lineSeparator  = new string[] { "@@" };
                List <string> line = r.Split(lineSeparator, StringSplitOptions.None).ToList();
                dc.Add(fillArtikeldaten(line, index++));
            });
            return(dc);
        }
Example #3
0
        public static RowSet FillMdeImportdaten(ArtikelDatenCollection dc)
        {
            RowSet rowSet = new RowSet();

            dc.ForEach(d =>
            {
                Row row = new Row();
                if (string.IsNullOrEmpty(row.UuidValue))
                {
                    row.UuidValue = Guid.NewGuid().ToString();
                }
                row.Fill("ID", d.ID); row.Fill("Artikelnummer", d.Artikelnummer);
                row.Fill("Bestellnummer", d.Bestellnummer);  row.Fill("Bezeichnung1", d.Bezeichnung1); row.Fill("Bezeichnung2", d.Bezeichnung2);
                row.Fill("Einkaufspreis", d.Einkaufspreis); row.Fill("Ersatzartikel", d.Ersatzartikel);
                row.Fill("Gesperrt", d.Gesperrt); row.Fill("Gewicht", d.Gewicht); row.Fill("Gruppe", d.Gruppe);
                row.Fill("Herstellernummer", d.Herstellernummer); row.Fill("Verkaufspreis", d.Verkaufspreis);
                row.Fill("Langtext", d.Langtext); row.Fill("MwSt", d.MwSt); row.Fill("Rabatt", d.Rabatt); row.Fill("Text", d.Text);
                rowSet.Add(row);
            });

            return(rowSet);
        }