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)); }
/// <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); }
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); }