Beispiel #1
0
        public void MetaData_BeforeFill()
        {
            if (DS.license.Rows.Count == 0)
            {
                return;
            }
            DataRow R = DS.license.Rows[0];

            if (InformazioniNonPresenti(R))
            {
                CalcolaInformazioni(R);
                SetImpostazioniDefault(R);
                abilitaricalcolo = true;
            }

            if (R["checkflag"].ToString() != CheckFlags.CalcolaCheckFlag(R))
            {
                if (!MessaggioDisableVisualizzato)
                {
                    MessageBox.Show("Questo db non è autorizzato dalla Software & More. Contattare il servizio assistenza");
                    MessaggioDisableVisualizzato = true;
                }
                Meta.CanSave   = false;
                Meta.CanInsert = false;
                btnOK.Visible  = false;
                Easy_DataAccess CD = Meta.Conn as Easy_DataAccess;
                if (CD != null)
                {
                    CD.ReadOnly = true;
                }
            }
            if (((R["servername"].ToString().ToUpper() != RealServerName.ToUpper()) &&
                 (R["serverbackup1"].ToString().ToUpper() != RealServerName.ToUpper()) &&
                 (R["serverbackup2"].ToString().ToUpper() != RealServerName.ToUpper())) ||
                (R["dbname"].ToString() != RealDBName))
            {
                MessageBox.Show("Da questo accesso risulta che il db n." +
                                R["iddb"].ToString() +
                                " il nuovo server è " + RealServerName +
                                " ed il nuovo nomedb è " + RealDBName +
                                ". Contattare la software and more per fare (ri)abilitare questo db all'uso del programma.");

                bool IsAdmin = false;
                if (Meta.GetSys("FlagMenuAdmin") != null)
                {
                    IsAdmin = (Meta.GetSys("FlagMenuAdmin").ToString() == "S");
                }

                Meta.CanSave   = IsAdmin;
                Meta.CanInsert = false;
                btnOK.Visible  = IsAdmin;
                Easy_DataAccess CD = Meta.Conn as Easy_DataAccess;
                if (CD != null)
                {
                    CD.ReadOnly = !IsAdmin;
                }
                btnReset.Visible         = IsAdmin;
                btnRemoveLicense.Visible = IsAdmin;
            }
        }
Beispiel #2
0
        private void btnRecalc_Click(object sender, System.EventArgs e)
        {
            if (Meta.IsEmpty)
            {
                return;
            }
            if (!ManagerEnabled)
            {
                return;
            }
            Meta.GetFormData(true);

            DataRow R = DS.license.Rows[0];

            // Calcola il codice di attivazione Licenza
            txtCheckLic.Text = CheckFlags.CalcolaCheckLic(R);

            // Calcola il codice di attivazione Manutenzione
            txtCheckMan.Text = CheckFlags.CalcolaCheckMan(R);

            // Calcola il codice di attivazione Estensione
            txtCheckFlag.Text = CheckFlags.CalcolaCheckFlag(R);

            txtBackup1.Text = CheckFlags.CalcolaCheckBackup1(R);
            txtBackup2.Text = CheckFlags.CalcolaCheckBackup2(R);
        }
        protected override void unpack(BinaryBitReader reader)
        {
            CheckFlags flags = (CheckFlags)reader.ReadByte();

            if (flags.HasFlag(CheckFlags.HasByskyToken))
            {
                ByskyToken = new ShortGuid(reader.ReadBytes(16));
            }
        }
Beispiel #4
0
    /// <summary>
    /// Checks if the last move was valid
    /// </summary>
    /// <returns>Validity of last move</returns>
    public bool IsValidMove(Move move)
    {
        //is the piece on the board?
        if (!IsInBounds(move))
        {
            Debug.LogWarning("Out of Bounds");
            Feedback.SetText("Out of Bounds");
            return(false);
        }

        //is it your turn to go?
        if (!team.hasTurn)
        {
            Debug.LogWarning("Not your turn");
            Feedback.SetText("Not your turn");
            return(false);
        }

        moveDelta = move.newMoveOffset;

        Debug.Log(moveDelta);

        if (moveDelta == Vector2Int.zero)
        {
            Feedback.SetText("Oops, dropped your piece");
            return(false);
        }

        CollisionInfo = Coord_Manager.CheckCollitionAt(move.finalPos, GetIsBlack() ? "Black" : "White");

        bool isCollidingWithOwnTeam = CollisionInfo.isCollidingWithOwnTeam;

        //is the piece trying to kill it's own team?
        if (isCollidingWithOwnTeam)
        {
            Feedback.SetText("Can't kill your own piece");
            return(false);
        }

        //is the piece making a move that particular piece is able to do?
        if (!middleMan.IsPieceSpecificMoveValid())
        {
            return(false);
        }


        CF = Coord_Manager.GetCheckInfoAt(middleMan.GetKingPosition(team.isBlack), team.isBlack);
        if (CF.isInCheck)
        {
            Feedback.SetText("King In Check");
            return(false);
        }

        return(true);
    }
Beispiel #5
0
        string CalcolaCheckBackup2(DataRow R)
        {
            string S = "2" + QueryCreator.quotedstrvalue(R["iddb"], true) +
                       QueryCreator.quotedstrvalue(R["serverbackup2"].ToString().ToUpper(), true) +
                       QueryCreator.quotedstrvalue(R["dbname"], true) +
                       QueryCreator.quotedstrvalue(R["swmoreflag"], true) +
                       QueryCreator.quotedstrvalue(R["swmorecode"], true);
            string Check = CheckFlags.GetCheck(S);

            return(Check);
        }
Beispiel #6
0
    /// <summary>
    /// Finds information about King's check status
    /// </summary>
    /// <returns>Check Flags describing kings check status</returns>
    public static CheckFlags GetCheckInfoAt(Vector2Int space, bool isBlack, bool main = false)
    {
        CheckFlags flags = new CheckFlags
        {
            isInCheck     = IsBeingAttacked(space, isBlack, main),
            isInCheckmate = false
        };

        //flags.isInCheckmate = flags.isInCheck ? IsInMate(space, isBlack, main) : false;

        return(flags);
    }
Beispiel #7
0
        public void MetaData_AfterPost()
        {
            if (DS.license.Rows.Count == 0)
            {
                return;
            }
            DataRow R = DS.license.Rows[0];

            if (CfgFn.GetNoNullInt32(R["iddb"]) != 0)
            {
                CheckFlags.SendToInternet(Meta.Conn, DS);
            }
        }
Beispiel #8
0
    /// <summary>
    /// End piece move, calculate move made and execute it
    /// </summary>
    void DropPiece()
    {
        Debug.LogWarning("timestart: " + Time.time);
        mouseIsClicked = false;
        Mouse_Manager.ResetMouseDelta();
        CenterPiece();
        Coord_Manager.UpdatePosition(transform.name, transform.localPosition);

        Move move = new Move(name, tag, Coord_Manager.GetPositionDifference(), transform.localPosition);

        if (!IsValidMove(move))
        {
            transform.position = startPos;
            Coord_Manager.RevertMove(ref moveDelta);
        }
        else
        {
            if (team.isBlack)
            {
                main.blackInCheck = false;
            }
            else
            {
                main.whiteInCheck = false;
            }

            main.KillPieceMarkedForDeath();
            Coord_Manager.CommitPositionUpdate();
            CurrentChessCoord = Coord_Manager.ConvertCoordsToChessUnits(transform.localPosition);

            middleMan.EndTurn();
            team.checkFlags = CF;
            team.EndTurn();

            CF = Coord_Manager.GetCheckInfoAt(middleMan.GetKingPosition(!team.isBlack), !team.isBlack);
            if (CF.isInCheck)
            {
                Feedback.SetText("CHECK!");

                if (team.isBlack)
                {
                    main.whiteInCheck = true;
                }
                else
                {
                    main.blackInCheck = true;
                }
            }
        }
        Debug.LogWarning("timeend: " + Time.time);
    }
Beispiel #9
0
        public void MetaData_AfterPost()
        {
            if (DS.license.Rows.Count == 0)
            {
                return;
            }
            if (!DontSend)
            {
                CheckFlags.SendToInternet(Meta.Conn, DS);
            }


            //MessageBox.Show( CfgFn.GetNoNullInt32(resp).ToString());
        }
Beispiel #10
0
        private void btnOK_Click(object sender, System.EventArgs e)
        {
            //string check2= CheckFlags.GetCheck("falcoJ41AB");
            //MessageBox.Show(check2);
            string check = CheckFlags.GetCheck(txtPwd.Text);

            if (check != "0x4C4AD48720B7475B3B24155DB41CCBCB518EF4F6")
            {
                MessageBox.Show("Password errata", "Password",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtPwd.SelectAll();
                txtPwd.Focus();
                return;
            }
            this.DialogResult = DialogResult.OK;
        }
Beispiel #11
0
        /// <summary>
        /// Imposta info di default per licenze e flag
        /// </summary>
        /// <param name="R"></param>
        void SetImpostazioniDefault(DataRow R)
        {
            R["swmoreflag"] = 0;
            DateTime ScadenzaDefault = new DateTime(2000, 1, 1);

            R["swmorecode"] = DBNull.Value;
            string RealCheck = CheckFlags.CalcolaCheckFlag(R);

            R["checkflag"]   = RealCheck;
            R["licstatus"]   = "B";
            R["expiringlic"] = ScadenzaDefault;
            R["lickind"]     = "O";
            R["checklic"]    = CheckFlags.CalcolaCheckLic(R);
            R["manstatus"]   = "N";
            R["expiringman"] = ScadenzaDefault;
            R["mankind"]     = "O";
            R["checkman"]    = CheckFlags.CalcolaCheckMan(R);
        }
Beispiel #12
0
        private void btnGetFromInternet_Click(object sender, System.EventArgs e)
        {
            if (Meta.IsEmpty)
            {
                return;
            }
            btnGetFromInternet.Enabled = false;
            btnGetFromInternet.Visible = false;
            Meta.GetFormData(true);
            DataRow R = DS.license.Rows[0];

            if (!CheckFlags.GetFromInternet(R, Meta.Conn))
            {
                return;
            }
            DontSend = true;
            Meta.SaveFormData();
            DontSend = false;
        }
Beispiel #13
0
        public void MetaData_AfterLink()
        {
            Meta           = MetaData.GetMetaData(this);
            RealServerName = CheckFlags.ServerName(Meta.Conn);
            RealDBName     = CheckFlags.DBName(Meta.Conn);

            Meta.CanInsert     = false;
            Meta.CanInsertCopy = false;
            Meta.CanCancel     = false;
            Meta.SearchEnabled = false;
            int numrighelicenzauso = Meta.Conn.RUN_SELECT_COUNT("license", "((serverbackup1 is null)or(serverbackup1 is not null))", true);

            if (numrighelicenzauso == 0)
            {
                MessageBox.Show("Attendere il completamento del db e poi ricollegarsi.");
                Meta.CanSave       = false;
                CanGoEdit          = false;
                CanGoInsert        = false;
                Meta.SearchEnabled = false;
                return;
            }

            numrighelicenzauso = Meta.Conn.RUN_SELECT_COUNT("license", null, true);
            if (numrighelicenzauso == 1)
            {
                CanGoInsert = false;
                CanGoEdit   = true;
            }
            else
            {
                CanGoInsert = true;
                CanGoEdit   = false;
            }
            HelpForm.SetDenyNull(DS.license.Columns["cf"], true);
            HelpForm.SetDenyNull(DS.license.Columns["agency"], true);
            HelpForm.SetDenyNull(DS.license.Columns["department"], true);
            HelpForm.SetDenyNull(DS.license.Columns["country"], true);
            HelpForm.SetDenyNull(DS.license.Columns["phonenumber"], true);
            HelpForm.SetDenyNull(DS.license.Columns["fax"], true);
            HelpForm.SetDenyNull(DS.license.Columns["email"], true);
            HelpForm.SetDenyNull(DS.license.Columns["referent"], true);
        }
Beispiel #14
0
        private void btnReset_Click(object sender, System.EventArgs e)
        {
            if (MessageBox.Show(this,
                                "Premere OK solo se si è esattamente CERTI di quello che si sta facendo e " +
                                "se si è sotto la STRETTISSIMA tutela di un tecnico della software and more.",
                                "Attenzione", MessageBoxButtons.OKCancel) != DialogResult.OK)
            {
                btnReset.Visible         = false;
                btnRemoveLicense.Visible = false;
                btnOK.Visible            = false;
                Meta.CanSave             = false;
                return;
            }
            string     pwdChangeServer;
            FrmAskCode F = new FrmAskCode(0);

            F.txtID.PasswordChar = '?';
            DialogResult D = F.ShowDialog(this);

            if (D != DialogResult.OK)
            {
                return;
            }
            pwdChangeServer = F.txtID.Text;
            if (pwdChangeServer != "DoMasterChangeServer")
            {
                return;
            }
            DataRow R = DS.license.Rows[0];

            CalcolaInformazioni(R);
            R["checkflag"] = CheckFlags.CalcolaCheckFlag(R);
            R["checkman"]  = CheckFlags.CalcolaCheckMan(R);
            R["licstatus"] = "B";           //stato iniziale del nuovo db='bloccato'
            R["checklic"]  = CheckFlags.CalcolaCheckLic(R);

            //SetImpostazioniDefault(R);
            abilitaricalcolo = true;
            Meta.FreshForm(true);
            MessageBox.Show("Server del db n." + R["iddb"].ToString() + " reimpostato.");
        }
        protected override void pack(BinaryBitWriter writer)
        {
            CheckFlags flags = CheckFlags.EMPTY;

            // --->

            if (ByskyToken != null)
            {
                flags |= CheckFlags.HasByskyToken;
            }

            //
            // --->
            //
            writer.Write((byte)((byte)flags));
            //
            // --->
            //

            if (flags.HasFlag(CheckFlags.HasByskyToken))
            {
                writer.Write(ByskyToken.Value.Guid.ToByteArray());
            }
        }
Beispiel #16
0
        public override bool IsValid(DataRow R, out string errmess, out string errfield)
        {
            if (edit_type == "default")
            {
                return(base.IsValid(R, out errmess, out errfield));
            }

            if (edit_type == "manage")
            {
                if (CheckFlags.CalcolaCheckLic(R) != R["checklic"].ToString())
                {
                    errmess  = "Licenza non valida";
                    errfield = "checklic";
                    return(false);
                }
                if (CheckFlags.CalcolaCheckMan(R) != R["checkman"].ToString())
                {
                    errmess  = "Licenza non valida";
                    errfield = "checkman";
                    return(false);
                }
                if (CheckFlags.CalcolaCheckFlag(R) != R["checkflag"].ToString())
                {
                    errmess  = "Licenza non valida";
                    errfield = "checkflag";
                    return(false);
                }
                if (R.Table.Columns["serverbackup1"] != null)
                {
                    if ((R["serverbackup1"].ToString() != "") &&
                        (CalcolaCheckBackup1(R).ToUpper() != R["checkbackup1"].ToString().ToUpper()))
                    {
                        errmess  = "Licenza backup 1 non valida";
                        errfield = "checkbackup1";
                        return(false);
                    }
                }
                if (R.Table.Columns["serverbackup2"] != null)
                {
                    if ((R["serverbackup2"].ToString() != "") &&
                        (CalcolaCheckBackup2(R).ToUpper() != R["checkbackup2"].ToString().ToUpper()))
                    {
                        errmess  = "Licenza backup 2 non valida";
                        errfield = "checkbackup2";
                        return(false);
                    }
                }
            }
            if (edit_type == "estesa")
            {
                if (R["phonenumber"].ToString().Length <= 8)
                {
                    errfield = "phonenumber";
                    errmess  = "Per cortesia " + R["referent"].ToString() +
                               " inserisca il n. di telefono ";
                    return(false);
                }
                if (R["fax"].ToString().Length <= 8)
                {
                    errfield = "fax";
                    errmess  = "Per cortesia " + R["referent"].ToString() +
                               " inserisca il n. di fax ";
                    return(false);
                }
                if ((R["email"].ToString().Length <= 8) ||
                    (R["email"].ToString().IndexOf("@") <= 0) ||
                    (R["email"].ToString().IndexOf(".") <= 0)
                    )
                {
                    errfield = "email";
                    errmess  = "Per cortesia " + R["referent"].ToString() +
                               " inserisca l'indirizzo e-mail corretto";
                    return(false);
                }
            }

            return(base.IsValid(R, out errmess, out errfield));
        }
Beispiel #17
0
 /// <summary>
 /// Calcola servername, dbname
 /// </summary>
 /// <param name="R"></param>
 void CalcolaInformazioni(DataRow R)
 {
     R["servername"] = CheckFlags.ServerName(Meta.Conn);
     R["dbname"]     = CheckFlags.DBName(Meta.Conn);
 }
Beispiel #18
0
        public void MetaData_BeforePost()
        {
            if (DS.license.Rows.Count == 0)
            {
                return;
            }
            Easy_DataAccess E = Meta.Conn as Easy_DataAccess;

            if (E != null)
            {
                if (((Easy_DataAccess)Meta.Conn).ReadOnly)
                {
                    return;
                }
            }
            PostData.RemoveFalseUpdates(DS);
            //if (!DS.HasChanges()) return;
            DataRow R = DS.license.Rows[0];

            if (CfgFn.GetNoNullInt32(R["iddb"]) == 0)
            {
                int mycode = RichiediCodice();
                if (mycode > 0)
                {
                    R["iddb"] = mycode;
                    if (abilitaricalcolo)
                    {
                        SetImpostazioniDefault(R);
                    }
                }
                else
                {
                    string xx = Meta.GetSys("FlagMenuAdmin") as string;
                    if (xx == null)
                    {
                        xx = "";
                    }
                    if (xx.ToUpper() == "S")
                    {
                        string     pwdChangeServer;
                        FrmAskCode F = new FrmAskCode(0);
                        F.txtID.PasswordChar = '?';
                        DialogResult D = F.ShowDialog(this);
                        if (D != DialogResult.OK)
                        {
                            return;
                        }
                        pwdChangeServer = F.txtID.Text;
                        if (pwdChangeServer == "DoMasterSetDB")
                        {
                            FrmAskCode   FF = new FrmAskCode(0);
                            DialogResult DD = FF.ShowDialog(this);
                            if (DD == DialogResult.OK)
                            {
                                mycode = CfgFn.GetNoNullInt32(
                                    HelpForm.GetObjectFromString(typeof(int), FF.txtID.Text, "x.y"));
                                if (mycode > 0)
                                {
                                    R["iddb"] = mycode;
                                }
                            }
                        }
                    }
                }
                string RealCheck = CheckFlags.CalcolaCheckFlag(R);
                R["checkflag"] = RealCheck;
            }
        }