private static bool ReturnOrder(List <Good> itemsToSale, Osnovan osnovan) { var gForSale = new GoodsForSale { Host = Hosts.ACTIVE_TERMINAL.ToString(), OpCode = (int)Operations.Возврат, ItemCount = itemsToSale.Count(), Items = itemsToSale.Select(t => new GoodForSale(t) { //FuellingPointId = 1, PresetMode = t is GoodFuel ? 1 : 0, PresetPrice = t.Price, PresetAmount = t is GoodFuel ? t.Amount : 0, PresetQuantity = t is GoodFuel ? 0 : t.Quantity, DiscountCount = 1,//t?.Discounts.Count()??0, Discounts = new Discount[] { new Discount { DiscountId = 1, DiscountType = 2, DiscountValue = t.Discount } } }).ToArray(), PaymentCount = 1, Payments = new[] { new OsnovanForSale(osnovan) { //CardNumber = "10101021215414" } } }; var json = new JavaScriptSerializer().Serialize(gForSale); var req = setOrder.Replace("{0}", json); var order_Raw = GET(req, request_code); ++request_code; //++operation_code; SaveCodes(); return(true); }
public OsnovanForSale(Osnovan osnavan) { OsnovanId = osnavan.OsnovanId; //Name = osnavan.Name; //ShortName = osnavan.ShortName; //NoMoneyInReports = osnavan.NoMoneyInReports; //ZeroAmountsInCheque = osnavan.ZeroAmountsInCheque; //PriceInCheque = osnavan.PriceInCheque; //IsDefault = osnavan.IsDefault; //IsDisallowed = osnavan.IsDisallowed; //IsHidden = osnavan.IsHidden; //ForGoodsAndServices = osnavan.ForGoodsAndServices; //ForFuels = osnavan.ForFuels; //DisallowPrepayMode = osnavan.DisallowPrepayMode; //DisallowPostpayMode = osnavan.DisallowPostpayMode; //PrintOsnovanName = osnavan.PrintOsnovanName; //FuelReturnsToTank = osnavan.FuelReturnsToTank; //MaxLitersPreset = osnavan.MaxLitersPreset; //MaxMoneyPreset = osnavan.MaxMoneyPreset; //DisallowMovePreset = osnavan.DisallowMovePreset; }
private static Osnovan ParseOsnovan(string src) { Osnovan result = new Osnovan(); if (!src.StartsWith("{") || !src.EndsWith("}")) { return(null); } src = src.Substring(1, src.Count() - 2); var parameters = src.Split(new[] { ",\"" }, StringSplitOptions.RemoveEmptyEntries); foreach (var pair in parameters) { var values = pair.Split(new[] { "\":" }, StringSplitOptions.RemoveEmptyEntries); if (values.Count() != 2) { continue; } var nm = values[0]; if (nm.StartsWith("\"")) { nm = nm.Substring(1, nm.Count() - 1); } if (nm.EndsWith("\"")) { nm = nm.Substring(0, nm.Count() - 1); } var val = values[1]; if (val.StartsWith("\"")) { val = val.Substring(1, val.Count() - 1); } if (val.EndsWith("\"")) { val = val.Substring(0, val.Count() - 1); } switch (nm) { case "OsnovanId": if (result != null) { result.OsnovanId = int.Parse(val); } break; case "Name": if (result != null) { result.Name = val == "null" ? null : val; } break; case "ShortName": if (result != null) { result.ShortName = val == "null" ? null : val; } break; case "NoMoneyInReports": if (result != null) { result.NoMoneyInReports = bool.Parse(val); } break; case "ZeroAmountsInCheque": if (result != null) { result.ZeroAmountsInCheque = bool.Parse(val); } break; case "PriceInCheque": if (result != null) { result.PriceInCheque = bool.Parse(val); } break; case "IsDefault": if (result != null) { result.IsDefault = bool.Parse(val); } break; case "IsDisallowed": if (result != null) { result.IsDisallowed = bool.Parse(val); } break; case "IsHidden": if (result != null) { result.IsHidden = bool.Parse(val); } break; case "ForGoodsAndServices": if (result != null) { result.ForGoodsAndServices = bool.Parse(val); } break; case "ForFuels": if (result != null) { result.ForFuels = bool.Parse(val); } break; case "DisallowPrepayMode": if (result != null) { result.DisallowPrepayMode = bool.Parse(val); } break; case "DisallowPostpayMode": if (result != null) { result.DisallowPostpayMode = bool.Parse(val); } break; case "PrintOsnovanName": if (result != null) { result.PrintOsnovanName = bool.Parse(val); } break; case "FuelReturnsToTank": if (result != null) { result.FuelReturnsToTank = bool.Parse(val); } break; case "MaxLitersPreset": if (result != null) { result.MaxLitersPreset = int.Parse(val); } break; case "MaxMoneyPreset": if (result != null) { result.MaxMoneyPreset = int.Parse(val); } break; case "DisallowMovePreset": if (result != null) { result.DisallowMovePreset = bool.Parse(val); } break; } } return(result); }