Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 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.");
     }
 }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
    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;
                        }
                    }
                }
            }
        }
    }
Exemplo n.º 5
0
        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;
        }
Exemplo n.º 6
0
        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;
            }
        }
Exemplo n.º 7
0
 public void AddSum(int _sum)
 {
     DO?.Invoke($"На счет поступило + ", _sum);   // 2.Вызов события
     sum = sum + _sum;
 }
Exemplo n.º 8
0
        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;
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 9
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();
        }
Exemplo n.º 10
0
 public CommandSetDo(DO d, bool dOValue)
     : this(new DO[] { d }, new bool[] { dOValue })
 {
 }
Exemplo n.º 11
0
        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);
            }
        }
Exemplo n.º 12
0
        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();
        }
Exemplo n.º 13
0
        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());
        }
Exemplo n.º 14
0
 public void Write()
 {
     DO.Write();
 }
Exemplo n.º 15
0
 public void Read()
 {
     DI.Read();
     DO.Read();
 }
Exemplo n.º 16
0
        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);
        }
Exemplo n.º 17
0
        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);
        }
Exemplo n.º 18
0
        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;
                }
            }
        }
Exemplo n.º 19
0
        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);
        }