public void Should_add_event_to_uncommitted_events_and_increase_version_when_raised() { var event1 = new MyEvent(); var event2 = new MyEvent(); var sut = new DO(Guid.NewGuid(), 10); IAggregate aggregate = sut; sut.RaiseTestEvent(event1); sut.RaiseTestEvent(event2); Assert.Equal(12, sut.Version); Assert.Equal(new IEvent[] { event1, event2 }, aggregate.GetUncomittedEvents().Select(x => x.Payload).ToArray()); aggregate.ClearUncommittedEvents(); Assert.Equal(0, sut.GetUncomittedEvents().Count); }
public void changeValueDO(string id, double value) { lock (db.DOs) { DO tag = getByIdDO(id); int val = 0; if (value > 0.5) { val = 1; } foreach (DO t in db.DOs) { if (t.Address == tag.Address) { t.InitValue = val; } } db.SaveChanges(); DataManipulator.saveData(); onChangeNotification.Invoke("Value changed."); } }
/// <summary> /// 开启温控器,欧姆龙温控器会打开IO /// </summary> /// <returns></returns> private bool StartController() { if (this.HeaterControllable is ThermostatOmron == false) { return(true); } if (this.Key == 0) { DO o = DOMgr.Instance.FindByName("胶枪加热1"); if (o == null) { return(false); } int result = o.Set(true); if (result != 0) { return(false); } } else if (this.Key == 1) { DO o = DOMgr.Instance.FindByName("胶枪加热2"); if (o == null) { return(false); } int result = o.Set(true); if (result != 0) { return(false); } } Thread.Sleep(100); this.Init(); return(true); }
protected void RemoveAnotherOrder(List <Unit> units) { Player player = GameController.players[units[0].idPlayer]; Unit unit = units[0]; FindAndAttackOrder FAO; MovementOrder MO; DefenseOrder DO; AttackOrder AO; BuildOrder BO; foreach (Order order in GameController.players[unit.idPlayer].orders) { if (order != this) { if (!unit.isBusy && order.GetType() == typeof(MovementOrder)) { MO = (MovementOrder)order; if (MO.units.Contains(unit)) { if (MO.units.Count != units.Count) { foreach (Unit unitItem in units) { MO.units.Remove(unitItem); } if (MO.units.Count > 0) { player.standbyOrders.Add(MO.Clone()); } } MO.isActive = false; break; } } else { if (order.GetType().BaseType == typeof(AttackOrder)) { AO = (AttackOrder)order; if (AO.units.Contains(unit)) { if (AO.units.Count != units.Count) { foreach (Unit unitItem in units) { AO.units.Remove(unitItem); } if (AO.units.Count > 0) { player.standbyOrders.Add(AO.Clone()); } } //Debug.Log("Remove AO"); GameController.players[(this.idPlayer == 0 ? 1 : 0)].enemyAttackOrders.Remove(AO); AO.isActive = false; break; } } else if (order.GetType() == typeof(BuildOrder) && unit.GetType().BaseType == typeof(Worker)) { BO = (BuildOrder)order; if (BO.workers.Contains((Worker)unit)) { if (BO.workers.Count != units.Count) { foreach (Worker unitItem in units) { BO.workers.Remove(unitItem); } if (BO.workers.Count > 0) { player.standbyOrders.Add(BO.Clone()); } } BO.isActive = false; break; } } else if (order.GetType() == typeof(DefenseOrder)) { DO = (DefenseOrder)order; if (this.GetType() == typeof(DefenseOrder)) { DefenseOrder DefenseOrderOld = (DefenseOrder)this; if (DO.units.Contains(unit)) { if (DO.units.Count == units.Count && DO.building != DefenseOrderOld.building) { foreach (Unit unitItem in units) { DO.units.Remove(unitItem); } if (DO.units.Count > 0) { player.standbyOrders.Add(DO.Clone()); } DO.isActive = false; } break; } } if (DO.units.Contains(unit)) { if (DO.units.Count != units.Count) { foreach (Unit unitItem in units) { DO.units.Remove(unitItem); } if (DO.units.Count > 0) { player.standbyOrders.Add(DO.Clone()); } } DO.isActive = false; break; } } else if (order.GetType() == typeof(FindAndAttackOrder)) { FAO = (FindAndAttackOrder)order; if (FAO.units.Contains(unit)) { if (FAO.units.Count != units.Count) { foreach (Worker unitItem in units) { FAO.units.Remove(unitItem); } if (FAO.units.Count > 0) { player.standbyOrders.Add(FAO.Clone()); } } FAO.isActive = false; break; } } } } } }
public ST PointedUpdate(int position, DO action, double value) { ST st = new ST(); st.root = st.Copy(root); st.length = length; if (action == DO.ADD) pointed_update(ref st.root, 0, length - 1, position, ACTION.ADD, value); else pointed_update(ref st.root, 0, length - 1, position, ACTION.UPDATE, value); return st; }
public ST MassUpdate(int left, int right, DO action, double value) { if (left == right) return PointedUpdate(left, action, value); else { ST st = new ST(); st.root = st.Copy(root); st.length = length; if (action == DO.ADD) mass_update(ref st.root, 0, length - 1, left, right, ACTION.ADD, value); else mass_update(ref st.root, 0, length - 1, left, right, ACTION.UPDATE, value); return st; } }
public void AddSum(int _sum) { DO?.Invoke($"На счет поступило + ", _sum); // 2.Вызов события sum = sum + _sum; }
private void processDOI(string LNNodeLnType, string LNNodeCnName, XmlNode LNNodeCn, NodeBase LNNb, XmlNodeList LNodeTypeNodes, XmlNodeList DOTypeNodes, XmlNodeList DATypeNodes) { // Process Instantiated Data Object foreach (XmlNode LNNodeTypeNodesNd in LNodeTypeNodes) { foreach (XmlNode LNNodeTypeNodesNdCn in LNNodeTypeNodesNd.ChildNodes) { if (LNNodeCnName == getStringAttribute(LNNodeTypeNodesNdCn, "name") && LNNodeLnType == getStringAttribute(LNNodeTypeNodesNd, "id")) { foreach (XmlNode DOTypeNodesNd in DOTypeNodes) { if (getStringAttribute(LNNodeTypeNodesNdCn, "type") == getStringAttribute(DOTypeNodesNd, "id")) { foreach (XmlNode DOTypeNodesNdCn in DOTypeNodesNd.ChildNodes) { if (DOTypeNodesNdCn.Name == "DA") { NodeBase LNFC = LNNb.AddChildNode(new NodeFC(getStringAttribute(DOTypeNodesNdCn, "fc"))); NodeBase LNFCCn = LNFC.AddChildNode(new NodeData(getStringAttribute(LNNodeTypeNodesNdCn, "name"))); NodeData Nd = new NodeData(getStringAttribute(DOTypeNodesNdCn, "name")); Nd.DataType = getVarDataType(getStringAttribute(DOTypeNodesNdCn, "bType")); NodeBase DOCn = LNFCCn.AddChildNode(Nd); if (Nd.DataType == scsm_MMS_TypeEnum.structure) { processStructDAType(DOCn, getStringAttribute(DOTypeNodesNdCn, "type"), DATypeNodes); } } } } } } } } foreach (XmlNode LNNodeCnNd in LNNodeCn.ChildNodes) { if (LNNodeCnNd.Name == "DAI") { if (getStringAttribute(LNNodeCnNd, "name") == "d") { foreach (XmlNode LNNodeCnNdCn in LNNodeCnNd) { if (LNNodeCnNdCn.Name == "Val") { NodeBase FCNb = LNNb.FindChildNode("DC"); if (FCNb != null) { NodeBase[] FCNbCn = FCNb.GetChildNodes(); if (FCNbCn.Length > 0) { foreach (NodeBase DO in FCNbCn) { if (DO.Name == LNNodeCnName) { NodeBase[] DOCn = DO.GetChildNodes(); if (DOCn.Length > 0) { foreach (NodeBase DA in DOCn) { if (DA.Name == "d") { (DA as NodeData).DataValue = LNNodeCnNdCn.InnerText; } } } } } } } int i = 0; } } } } } }
private void repFaktura_Load(object sender, EventArgs e) { DTstatistika = dSstatistike.DTstatistika; string zemljaFilter = ""; if (zemlja != null && zemlja != "") { zemljaFilter = " AND unos_gosta.id_drzava='" + zemlja + "' "; } string sql = "SELECT zemlja.zemlja,unos_gosta.datum_dolaska,unos_gosta.datum_odlaska,unos_gosta.iznos_bor_pristojbe FROM unos_gosta" + " LEFT JOIN zemlja ON zemlja.country_code=unos_gosta.id_drzava WHERE " + " unos_gosta.vrijeme_unosa>='" + OD.ToString("yyyy-MM-dd H:mm:ss") + "' AND unos_gosta.vrijeme_unosa<='" + DO.ToString("yyyy-MM-dd H:mm:ss") + "'" + zemljaFilter + ""; DataTable DT = RemoteDB.select(sql, "unos_gosta").Tables[0]; string nas = "STATISTIČKI PRIKAZ DOLAZAKA I NOĆENJA GOSTIJU\r\nza period od " + OD.ToString("yyyy-MM-dd H:mm:ss") + " do " + DO.ToString("yyyy-MM-dd H:mm:ss") + ""; foreach (DataRow row in DT.Rows) { int broj_dana = Funkcije.ReturnDaysFromDate(Convert.ToDateTime(row["datum_dolaska"].ToString()), Convert.ToDateTime(row["datum_odlaska"].ToString())); SetTable(row["zemlja"].ToString(), 1, 1 * broj_dana, (Convert.ToDouble(row["iznos_bor_pristojbe"].ToString()) * broj_dana), nas); } this.reportViewer1.RefreshReport(); }
public CommandSetDo(DO d, bool dOValue) : this(new DO[] { d }, new bool[] { dOValue }) { }
public static byte[] HandleMessage(ClientInfo client, QPacket p, byte[] data) { Log.WriteLine(1, "[DO] Handling DO_RMCRequestMessage..."); MemoryStream m = new MemoryStream(data); m.Seek(1, 0); ushort callID = Helper.ReadU16(m); uint flags = Helper.ReadU32(m); uint station = Helper.ReadU32(m); uint targetObject = Helper.ReadU32(m); DOC_METHOD method = (DOC_METHOD)Helper.ReadU16(m); Log.WriteLine(2, "[DO] RMC Call ID : 0x" + callID.ToString("X4")); Log.WriteLine(2, "[DO] RMC Call Flags : 0x" + flags.ToString("X8")); Log.WriteLine(2, "[DO] RMC Call Station : 0x" + station.ToString("X8")); Log.WriteLine(2, "[DO] RMC Call DupObj : 0x" + targetObject.ToString("X8") + " " + new DupObj(targetObject).getDesc()); byte[] buff; MemoryStream m2; List <byte[]> msgs; switch (method) { case DOC_METHOD.SyncRequest: Log.WriteLine(1, "[DO] Handling SyncRequest..."); ulong time = Helper.ReadU64(m); buff = Create(client.callCounterDO_RMC++, 0x83C, new DupObj(DupObjClass.Station, 1), new DupObj(DupObjClass.SessionClock, 1), 6, new Payload_SyncResponse(time).toBuffer()); m2 = new MemoryStream(); Helper.WriteU32(m2, (uint)buff.Length); m2.Write(buff, 0, buff.Length); m2.WriteByte((byte)QPacket.MakeChecksum(m2.ToArray(), 0)); p.payload = m2.ToArray(); p.payloadSize = (ushort)p.payload.Length; p.m_uiSignature = client.IDsend; DO.Send(p, client); return(null); case DOC_METHOD.RequestIDRangeFromMaster: Log.WriteLine(1, "[DO] Handling RequestIDRangeFromMaster..."); return(DO_RMCResponseMessage.Create(callID, 0x60001, new byte[] { 0x01, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00 })); case DOC_METHOD.IncreasePlayerNb: Log.WriteLine(1, "[DO] Handling IncreasePlayerNb..."); msgs = new List <byte[]>(); msgs.Add(new byte[] { 0x02, 0x02, 0x00, 0x40, 0x05, 0x01, 0x01, 0x00, 0x00, 0x00 }); msgs.Add(DO_RMCResponseMessage.Create(callID, 0x60001, new byte[] { 0x00 })); return(DO_BundleMessage.Create(client, msgs)); case DOC_METHOD.AskForSettingPlayerParameters: Log.WriteLine(1, "[DO] Handling AskForSettingPlayerParameters..."); int len = (int)(data.Length - m.Position); buff = new byte[len]; m.Read(buff, 0, len); client.settings = buff; msgs = new List <byte[]>(); msgs.Add(DO_RMCRequestMessage.Create(client.callCounterDO_RMC++, 0x1006, new DupObj(DupObjClass.Station, 1), new DupObj(DupObjClass.SES_cl_Player_NetZ, 257), (ushort)DO_RMCRequestMessage.DOC_METHOD.SetPlayerParameters, client.settings )); msgs.Add(DO_RMCResponseMessage.Create(callID, 0x60001, new byte[] { 0x00 })); return(DO_BundleMessage.Create(client, msgs)); case DOC_METHOD.AskForSettingPlayerState: Log.WriteLine(1, "[DO] Handling AskForSettingPlayerState..."); msgs = new List <byte[]>(); msgs.Add(DO_RMCRequestMessage.Create(client.callCounterDO_RMC++, 0x1006, new DupObj(DupObjClass.Station, 1), new DupObj(DupObjClass.SES_cl_Player_NetZ, 257), (ushort)DO_RMCRequestMessage.DOC_METHOD.SetPlayerState, BitConverter.GetBytes(Helper.ReadU32(m)) )); msgs.Add(DO_RMCResponseMessage.Create(callID, 0x60001, new byte[] { 0x00 })); return(DO_BundleMessage.Create(client, msgs)); default: Log.WriteLine(1, "[DO] Error: Unhandled DOC method: " + method + "!"); return(null); } }
private void repFaktura_Load(object sender, EventArgs e) { if (DTpdv.Columns["stopa"] == null) { DTpdv.Columns.Add("stopa"); DTpdv.Columns.Add("stavka"); DTpdv.Columns.Add("osnovica"); } else { DTpdv.Clear(); } if (DTpdvNacini.Columns["stopa"] == null) { DTpdvNacini.Columns.Add("stopa"); DTpdvNacini.Columns.Add("placanje"); DTpdvNacini.Columns.Add("stavka"); DTpdvNacini.Columns.Add("osnovica"); } else { DTpdvNacini.Clear(); } DTFakStavke = dSRfakturaStavke.DTfakturaStavke; string _sifraPARTNERA = ""; string _broj_racuna = ""; string _imeGosta = ""; if (sifra_partnera != null && sifra_partnera != "") { _sifraPARTNERA = String.Format(" AND rfakture.id_partner = '{0}'", sifra_partnera); } if (dokumenat != null && dokumenat != "") { _broj_racuna = String.Format(" AND rfakture.broj = '{0}'", dokumenat); } if (imeGosta != null && imeGosta != "") { _imeGosta = String.Format(" AND rfaktura_stavke.ime_gosta ~* '{0}'", imeGosta); } string sql = String.Format(@"SELECT rfaktura_stavke.broj, rfaktura_stavke.dana, rfaktura_stavke.ukupno, rfaktura_stavke.rabat, rfaktura_stavke.porez, rfaktura_stavke.avans, case when (rfakture.id_partner is not null and rfakture.id_partner != 0) then concat('(R1 - ', partners.ime_tvrtke, ') ', rfaktura_stavke.ime_gosta) else concat('(G) ', rfaktura_stavke.ime_gosta) end as ime_gosta, rfaktura_stavke.boravisna_pristojba, rfaktura_stavke.iznos_usluge, rfaktura_stavke.cijena_sobe, rfaktura_stavke.broj_sobe, nacin_placanja.naziv_placanja FROM rfaktura_stavke LEFT JOIN rfakture ON rfaktura_stavke.broj=rfakture.broj left join partners on rfakture.id_partner = partners.id_partner left join nacin_placanja on rfakture.nacin_placanja = nacin_placanja.id_placanje WHERE rfakture.datum >= '{0}' AND rfakture.datum <= '{1}'{2}{3}{4} order by rfakture.broj;", OD.ToString("yyyy-MM-dd H:mm:ss"), DO.ToString("yyyy-MM-dd H:mm:ss"), _broj_racuna, _imeGosta, _sifraPARTNERA); string databaseName = new INIFile().Read("Postgre", "ime_baze"); int godina = DateTime.Now.Year; godina = Convert.ToInt16(databaseName.Substring(databaseName.Length - 4)); if (godina >= 2017) { sql = String.Format(@"SELECT rfaktura_stavke.broj, case when rfaktura_stavke.ukupno < 0 then abs(rfaktura_stavke.dana) * (-1) else rfaktura_stavke.dana end as dana, rfaktura_stavke.ukupno, rfaktura_stavke.rabat, rfaktura_stavke.porez, rfaktura_stavke.avans, case when (rfakture.id_partner is not null and rfakture.id_partner != 0) then concat('(R1 - ', partners.ime_tvrtke, ') ', rfaktura_stavke.ime_gosta) else concat('(G) ', rfaktura_stavke.ime_gosta) end as ime_gosta, rfaktura_stavke.boravisna_pristojba, rfaktura_stavke.iznos_usluge, rfaktura_stavke.cijena_sobe, rfaktura_stavke.broj_sobe, nacin_placanja.naziv_placanja, rfaktura_stavke.otpremnica_pnp FROM rfaktura_stavke LEFT JOIN rfakture ON rfaktura_stavke.broj=rfakture.broj left join partners on rfakture.id_partner = partners.id_partner left join nacin_placanja on rfakture.nacin_placanja = nacin_placanja.id_placanje WHERE rfakture.datum >= '{0}' AND rfakture.datum <= '{1}'{2}{3}{4} order by rfakture.broj;", OD.ToString("yyyy-MM-dd H:mm:ss"), DO.ToString("yyyy-MM-dd H:mm:ss"), _broj_racuna, _imeGosta, _sifraPARTNERA); } DataTable DT = RemoteDB.select(sql, "unos_gosta").Tables[0]; //string nas = "Prikaz za razdoblje od: " + OD.ToString("dd.MM.yyyy HH:mm:ss") + " do " + DO.ToString("dd.MM.yyyy HH:mm:ss") + ""; double ukupno10 = 0; foreach (DataRow row in DT.Rows) { decimal broj_dana = Convert.ToDecimal(row["dana"].ToString()); try { double bor_p2 = 0; double iznos_usluge2 = 0; string ime_gosta = null; if (Convert.ToInt32(row["broj_sobe"]) == -1) { double.TryParse(row["cijena_sobe"].ToString(), out bor_p2); } else { ime_gosta = row["ime_gosta"].ToString(); } if (double.TryParse(row["iznos_usluge"].ToString(), out iznos_usluge2)) { iznos_usluge2 = 0; } //double.TryParse(row["iznos_usluge"].ToString(), out iznos_usluge2); ukupno10 = Convert.ToDouble(row["ukupno"].ToString()) + ukupno10; SetTable(Convert.ToInt16(row["broj"].ToString()), Convert.ToDouble(row["dana"].ToString()), bor_p2, iznos_usluge2, Convert.ToDouble(row["porez"].ToString()), Convert.ToDouble(row["ukupno"].ToString()), ime_gosta ); } catch { } } decimal ukupno = 0; decimal bor_p = 0; decimal porez = 0; decimal broj_nocenja = 0; decimal porez_iznos = 0; decimal iznos_usluge = 0; decimal cijena_sobe = 0; decimal ukupno_za_preracun_osnovice = 0; decimal boravisna_ukupno = 0; decimal pnp_ukupno = 0; decimal pnp_max = 0; decimal pnp_iznos = 0; decimal otpremnica_pnp = 0; foreach (DataRow row in DT.Rows) { try { if (decimal.TryParse(row["boravisna_pristojba"].ToString(), out bor_p)) { bor_p = 0; } if (decimal.TryParse(row["iznos_usluge"].ToString(), out iznos_usluge)) { iznos_usluge = 0; } ukupno = Convert.ToDecimal(row["ukupno"].ToString()); porez = Convert.ToDecimal(row["porez"].ToString()); otpremnica_pnp = Convert.ToDecimal(row["otpremnica_pnp"].ToString()); cijena_sobe = Convert.ToDecimal(row["cijena_sobe"].ToString()); broj_nocenja = Convert.ToDecimal(row["dana"].ToString()); ukupno_za_preracun_osnovice = ukupno - (bor_p * broj_nocenja); if (pnp_max < otpremnica_pnp) { pnp_max = otpremnica_pnp; } decimal PreracunataStopaPNP = Convert.ToDecimal((100 * otpremnica_pnp) / (100 + porez + otpremnica_pnp)); pnp_iznos = (ukupno_za_preracun_osnovice * PreracunataStopaPNP / 100); //pnp_iznos = 0; //otpremnica_pnp = 0; decimal PreracunataStopaPDV = Convert.ToDecimal((100 * porez) / (100 + porez + otpremnica_pnp)); porez_iznos = (ukupno_za_preracun_osnovice * PreracunataStopaPDV / 100); if ((int)row["broj_sobe"] != -1) { if (porez == 0) { porez = 0; } StopePDVa(porez, porez_iznos, ukupno_za_preracun_osnovice - porez_iznos - pnp_iznos); StopePDVaNac(row["naziv_placanja"].ToString(), porez, porez_iznos, ukupno_za_preracun_osnovice - porez_iznos - pnp_iznos); } else { bor_p = 0; decimal.TryParse(row["cijena_sobe"].ToString(), out bor_p); bor_p = bor_p * (decimal)row["dana"]; } pnp_ukupno += pnp_iznos; boravisna_ukupno += bor_p; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } string porezi = "", nacini = "";//"Boravišna pristojba:" + BrojiRedove((boravisna_ukupno).ToString("#0.00"), 9) + " kn\r\n"; int max = (DTpdv.Rows.Count >= DTpdvNacini.Rows.Count ? DTpdv.Rows.Count : DTpdvNacini.Rows.Count); DataView dv = DTpdvNacini.DefaultView; dv.Sort = "placanje, stopa asc"; DataTable sortedDT = dv.ToTable(); if (sortedDT.Rows.Count > 0) { nacini += @" Osnovica Iznos ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ "; } for (int ii = 0; ii < sortedDT.Rows.Count; ii++) { string s = BrojiRedove(sortedDT.Rows[ii]["placanje"].ToString() + " " + sortedDT.Rows[ii]["stopa"].ToString() + " %", 14) + " " + BrojiRedove(Convert.ToDecimal(sortedDT.Rows[ii]["osnovica"].ToString()).ToString("##,#0.00"), 15) + BrojiRedove(Convert.ToDecimal(sortedDT.Rows[ii]["stavka"].ToString()).ToString("##,#0.00"), 12); nacini += s + Environment.NewLine; } if (nacini.Length > 0) { nacini += BrojiRedove("Porez na potrošnju" + " " + pnp_max + "%", 14) + BrojiRedove(pnp_ukupno.ToString("##,#0.00"), 28) + Environment.NewLine; } if (nacini.Length > 0) { nacini += BrojiRedove("Bor. pristojba", 14) + BrojiRedove(boravisna_ukupno.ToString("##,#0.00"), 28) + Environment.NewLine; } for (int ii = 0; ii < DTpdv.Rows.Count; ii++) { porezi += "Osnovica za PDV " + (DTpdv.Rows[ii]["stopa"].ToString() == "0" ? " " : "") + DTpdv.Rows[ii]["stopa"].ToString() + " %:" + BrojiRedove(Convert.ToDecimal(DTpdv.Rows[ii]["osnovica"].ToString()).ToString("##,#0.00"), 15) + " kn\r\n" + "Iznos PDV " + (DTpdv.Rows[ii]["stopa"].ToString() == "0" ? " " : "") + DTpdv.Rows[ii]["stopa"].ToString() + " %:" + BrojiRedove(Convert.ToDecimal(DTpdv.Rows[ii]["stavka"].ToString()).ToString("##,#0.00"), 15) + " kn\r\n"; } if (nacini.Length > 0) { porezi += "Porez na potrošnju:" + BrojiRedove(pnp_ukupno.ToString("##,#0.00"), 15) + " kn\r\n"; } if (nacini.Length > 0) { porezi += "Boravišna pristojba:" + BrojiRedove(boravisna_ukupno.ToString("##,#0.00"), 15) + " kn\r\n"; } string opisNaKraju = nacini + "¤" + porezi; string sql1 = "SELECT " + " podaci_tvrtke.ime_tvrtke," + " podaci_tvrtke.adresa," + " podaci_tvrtke.oib," + " podaci_tvrtke.grad, " + " '" + porezi + "' AS opis_na_kraju_fakture, " + " '" + nacini + "' AS nacini, " + " 'Računi za razdoblje od " + OD.ToString("dd.MM.yyyy HH:mm:ss") + " do " + DO.ToString("dd.MM.yyyy HH:mm:ss") + "' as naziv_fakture" + " FROM podaci_tvrtke " + ""; classDBlite.LiteAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke"); this.reportViewer1.RefreshReport(); }
public static string MakeDetailedPacketLog(byte[] data, bool isSinglePacket = false) { StringBuilder sb = new StringBuilder(); while (true) { QPacket qp = new QPacket(data); sb.AppendLine("##########################################################"); sb.AppendLine(qp.ToStringDetailed()); if (qp.type == QPacket.PACKETTYPE.DATA && qp.m_byPartNumber == 0) { switch (qp.m_oSourceVPort.type) { case QPacket.STREAMTYPE.OldRVSec: if (qp.flags.Contains(QPacket.PACKETFLAG.FLAG_ACK)) { break; } sb.AppendLine("Trying to process RMC packet..."); try { MemoryStream m = new MemoryStream(qp.payload); RMCP p = new RMCP(qp); m.Seek(p._afterProtocolOffset + 4, 0); if (!p.isRequest) { m.ReadByte(); } p.methodID = Helper.ReadU32(m); sb.AppendLine("\tRMC Request : " + p.isRequest); sb.AppendLine("\tRMC Protocol : " + p.proto); sb.AppendLine("\tRMC Method : " + p.methodID.ToString("X")); if (p.proto == RMCP.PROTOCOL.GlobalNotificationEventProtocol && p.methodID == 1) { sb.AppendLine("\t\tNotification :"); sb.AppendLine("\t\t\tSource".PadRight(20) + ": 0x" + Helper.ReadU32(m).ToString("X8")); uint type = Helper.ReadU32(m); sb.AppendLine("\t\t\tType".PadRight(20) + ": " + (type / 1000)); sb.AppendLine("\t\t\tSubType".PadRight(20) + ": " + (type % 1000)); sb.AppendLine("\t\t\tParam 1".PadRight(20) + ": 0x" + Helper.ReadU32(m).ToString("X8")); sb.AppendLine("\t\t\tParam 2".PadRight(20) + ": 0x" + Helper.ReadU32(m).ToString("X8")); sb.AppendLine("\t\t\tParam String".PadRight(20) + ": " + Helper.ReadString(m)); sb.AppendLine("\t\t\tParam 3".PadRight(20) + ": 0x" + Helper.ReadU32(m).ToString("X8")); } sb.AppendLine(); } catch { sb.AppendLine("Error processing RMC packet"); sb.AppendLine(); } break; case QPacket.STREAMTYPE.DO: if (qp.flags.Contains(QPacket.PACKETFLAG.FLAG_ACK)) { break; } sb.AppendLine("Trying to unpack DO messages..."); try { MemoryStream m = new MemoryStream(qp.payload); uint size = Helper.ReadU32(m); byte[] buff = new byte[size]; m.Read(buff, 0, (int)size); DO.UnpackMessage(buff, 1, sb); sb.AppendLine(); } catch { sb.AppendLine("Error processing DO messages"); sb.AppendLine(); } break; } } int size2 = qp.toBuffer().Length; if (size2 == data.Length || isSinglePacket) { break; } MemoryStream m2 = new MemoryStream(data); m2.Seek(size2, 0); size2 = (int)(m2.Length - m2.Position); if (size2 <= 8) { break; } data = new byte[size2]; m2.Write(data, 0, size2); } return(sb.ToString()); }
public void Write() { DO.Write(); }
public void Read() { DI.Read(); DO.Read(); }
private static bool ParseLN(XDocument doc) { IEnumerable <XElement> xLn = (from x in doc.Descendants() where x.Name.LocalName == "LNodeType" select x).ToList(); if (!xLn.Any()) { Log.Log.Write("ParseDocunent.ParseLN: LNodeType == null", "Error "); return(false); } foreach (var ln in xLn) { if (ln.Attribute("lnClass") != null && ln.Attribute("id") != null) { ServerModel.ListTempLN.Add(new ServerModel.NodeLN(ln.Attribute("lnClass")?.Value, ln.Attribute("id")?.Value, ln.Attribute("desc") != null ? ln.Attribute("desc")?.Value : "")); IEnumerable <XElement> xDoElements = (from x in ln.Descendants() where x.Name.LocalName == "DO" select x).ToList(); if (!xDoElements.Any()) { Log.Log.Write("ParseDocunent.ParseLN: LNodeType == null", "Error "); return(false); } foreach (var DO in xDoElements) { if (DO.Attribute("name") != null && DO.Attribute("type") != null) { ServerModel.ListTempLN.Last().ListDO.Add(new ServerModel.NodeDO(DO.Attribute("name")?.Value, DO.Attribute("type")?.Value, DO.Attribute("desc") != null ? DO.Attribute("desc")?.Value : "")); } else { Log.Log.Write("ParseDocunent.ParseLN: DO.name == null or DO.type == null", "Error "); return(false); } } } else { Log.Log.Write("ParseDocunent.ParseLN: LNodeType.lnClass == null or LNodeType.id == null", "Error "); return(false); } } return(true); }
private static bool ParseDO(XDocument doc) { IEnumerable <XElement> xDo = (from x in doc.Descendants() where x.Name.LocalName == "DOType" select x).ToList(); if (!xDo.Any()) { Log.Log.Write("ParseDocunent.ParseDO: DOType == null", "Error "); return(false); } foreach (var DO in xDo) { if (DO.Attribute("id") == null || DO.Attribute("cdc") == null) { Log.Log.Write("ParseDocunent.ParseDO: DO.id == null or DO.cdc", "Error "); return(false); } ServerModel.ListTempDO.Add(new ServerModel.NodeDO(DO.Attribute("id")?.Value, DO.Attribute("cdc")?.Value, DO.Attribute("desc") != null ? DO.Attribute("desc")?.Value : "")); IEnumerable <XElement> xDAElements = (from x in DO.Descendants() where x.Name.LocalName == "DA" select x).ToList(); if (!xDAElements.Any()) { Log.Log.Write("ParseDocunent.ParseDO: DA == null", "Error "); continue; } foreach (var da in xDAElements) { if (da.Attribute("name") != null && da.Attribute("bType")?.Value == "Class") { var nameDA = da.Attribute("name")?.Value; var typeDA = da.Attribute("type") != null?da.Attribute("type")?.Value : da.Parent.Attribute("type") != null?da.Parent.Attribute("type")?.Value : null; ServerModel.ListTempDO.Last().ListDO.Add(new ServerModel.NodeDO(nameDA, typeDA, da.Attribute("desc") != null ? da.Attribute("desc")?.Value : "")); } else { if (da.Attribute("name") == null || da.Attribute("bType") == null || da.Attribute("fc") == null) { Log.Log.Write("ParseDocunent.ParseDO: DA.name == null or DA.bType == null or DA.fc == null", "Warning "); continue; } var nameDA = da.Attribute("name")?.Value; var fcDA = da.Attribute("fc")?.Value; var bTypeDA = da.Attribute("bType")?.Value; var typeDA = da.Attribute("type") != null?da.Attribute("type")?.Value : da.Parent.Attribute("type") != null?da.Parent.Attribute("type")?.Value : null; var trgOpsDA = TriggerOptions.NONE; var countDA = da.Attribute("count") != null?da.Attribute("count")?.Value : "0"; if ((da.Attribute("dchg")?.Value ?? "false").ToLower() == "true") { trgOpsDA |= TriggerOptions.DATA_CHANGED; } if ((da.Attribute("qchg")?.Value ?? "false").ToLower() == "true") { trgOpsDA |= TriggerOptions.QUALITY_CHANGED; } if ((da.Attribute("dupd")?.Value ?? "false").ToLower() == "true") { trgOpsDA |= TriggerOptions.DATA_UPDATE; } ServerModel.ListTempDO.Last().ListDA.Add(new ServerModel.NodeDA(nameDA, fcDA, bTypeDA, typeDA, (byte)trgOpsDA, countDA)); if (da.Value != null) { ServerModel.ListTempDO.Last().ListDA.Last().Value = da.Value; } } } } return(true); }
public static void ProcessPacket(string source, byte[] data, IPEndPoint ep, UdpClient listener, uint serverPID, ushort listenPort, bool removeConnectPayload = false) { StringBuilder sb = new StringBuilder(); foreach (byte b in data) { sb.Append(b.ToString("X2") + " "); } while (true) { QPacket p = new QPacket(data); MemoryStream m = new MemoryStream(data); byte[] buff = new byte[(int)p.realSize]; m.Seek(0, 0); m.Read(buff, 0, buff.Length); Log.LogPacket(false, buff); Log.WriteLine(5, "[" + source + "] received : " + p.ToStringShort()); Log.WriteLine(10, "[" + source + "] received : " + sb.ToString()); Log.WriteLine(10, "[" + source + "] received : " + p.ToStringDetailed()); QPacket reply = null; ClientInfo client = null; if (p.type != QPacket.PACKETTYPE.SYN && p.type != QPacket.PACKETTYPE.NATPING) { client = Global.GetClientByIDrecv(p.m_uiSignature); } switch (p.type) { case QPacket.PACKETTYPE.SYN: reply = QPacketHandler.ProcessSYN(p, ep, out client); break; case QPacket.PACKETTYPE.CONNECT: if (client != null && !p.flags.Contains(QPacket.PACKETFLAG.FLAG_ACK)) { client.sPID = serverPID; client.sPort = listenPort; if (removeConnectPayload) { p.payload = new byte[0]; p.payloadSize = 0; } reply = QPacketHandler.ProcessCONNECT(client, p); } break; case QPacket.PACKETTYPE.DATA: if (p.m_oSourceVPort.type == QPacket.STREAMTYPE.OldRVSec) { RMC.HandlePacket(listener, p); } if (p.m_oSourceVPort.type == QPacket.STREAMTYPE.DO) { DO.HandlePacket(listener, p); } break; case QPacket.PACKETTYPE.DISCONNECT: if (client != null) { reply = QPacketHandler.ProcessDISCONNECT(client, p); } break; case QPacket.PACKETTYPE.PING: if (client != null) { reply = QPacketHandler.ProcessPING(client, p); } break; case QPacket.PACKETTYPE.NATPING: ulong time = BitConverter.ToUInt64(p.payload, 5); if (timeToIgnore.Contains(time)) { timeToIgnore.Remove(time); } else { reply = p; m = new MemoryStream(); byte b = (byte)(reply.payload[0] == 1 ? 0 : 1); m.WriteByte(b); Helper.WriteU32(m, 166202); //RVCID Helper.WriteU64(m, time); reply.payload = m.ToArray(); Send(source, reply, ep, listener); m = new MemoryStream(); b = (byte)(b == 1 ? 0 : 1); m.WriteByte(b); Helper.WriteU32(m, 166202); //RVCID time = Helper.MakeTimestamp(); timeToIgnore.Add(time); Helper.WriteU64(m, Helper.MakeTimestamp()); reply.payload = m.ToArray(); } break; } if (reply != null) { Send(source, reply, ep, listener); } if (p.realSize != data.Length) { m = new MemoryStream(data); int left = (int)(data.Length - p.realSize); byte[] newData = new byte[left]; m.Seek(p.realSize, 0); m.Read(newData, 0, left); data = newData; } else { break; } } }
public string GetJsonStringFromWISE(string sIOType, string sSlot, string sChannel) { string sResult = string.Empty; try { string sURL = string.Empty; string sIPAddress = "http://10.248.72.201/"; sURL = sIPAddress + sIOType + "/" + sSlot + "/" + sChannel; // Create a request for the URL. //WebRequest request = WebRequest.Create("http://10.248.72.201/do_value/slot_0/Ch_1"); WebRequest request = WebRequest.Create(sURL); //Set Account and Password for Adventech ADAM WISE request.Proxy = null; //String username = "******"; //String password = "******"; String encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(username + ":" + password)); request.Headers.Add("Authorization", "Basic " + encoded); request.PreAuthenticate = true; // If required by the server, set the credentials. request.Credentials = CredentialCache.DefaultCredentials; // Get the response. WebResponse response = request.GetResponse(); // Display the status. // Get the stream containing content returned by the server. Stream dataStream = response.GetResponseStream(); // Open the stream using a StreamReader for easy access. StreamReader reader = new StreamReader(dataStream); // Read the content. string responseFromServer = reader.ReadToEnd(); sResult = responseFromServer; //Console.WriteLine(responseFromServer); // Clean up the streams and the response. reader.Close(); response.Close(); DataSet ds = null; StringBuilder strSql = new StringBuilder(); if (sIOType == "di_value") { //----Use Json.net to analyze the Json string //string json = @"{""Ch"":0,""Md"":0,""Val"":1}"; DI myData = JsonConvert.DeserializeObject <DI>(sResult); myData.IP = MyIP; //----Get data from ADAM WISE and insert into MS-SQL DB string sRes = InsertDataToDIDB(myData); strSql.Append(" select * from "); strSql.Append(" FMM_ADAMWISE_DI "); strSql.Append(" order by Create_Date desc "); } else { //----Use Json.net to analyze the Json string //string json = @"{""Ch"":0,""Md"":0,""Val"":1}"; DO myData = JsonConvert.DeserializeObject <DO>(sResult); myData.IP = MyIP; //----Get data from ADAM WISE and insert into MS-SQL DB string sRes = InsertDataToDODB(myData); strSql.Append(" select * from "); strSql.Append(" FMM_ADAMWISE_DO "); strSql.Append(" order by Create_Date desc "); } ds = pb_ws.ExcuteSQL_Query("CIMDB_" + sEnvironment, strSql.ToString(), "ADAMWISE_JOB"); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { //sResult = "SUCCESS"; dataGridView1.DataSource = ds.Tables[0]; } } catch (Exception ex) { throw ex; } return(sResult); }