Example #1
0
        private void tekenInOfUit(object sender, EventArgs e)
        {
            if (!_NoConnectionMode)
            {
                NetCom.ServerRequestTekenInOfUit request = new NetCom.ServerRequestTekenInOfUit();
                request.NFCCode = _CurrentlySelectedUser.UsE.NFCID;
                NetCom.ServerResponse response;

                if (!checkBoxSeUserTodayAsDate.Checked)
                {
                    request.DateIsToday = false;
                    request.Date        = dateTimePickerSeDateToListTo.Value.Date;
                }

                try
                {
                    response = webbbbrrrrrry(request);
                }
                catch
                {
                    enableNoConnectionMode();
                    return;
                }

                if (response.IsErrorOccurred)
                {
                    MessageBox.Show(response.ErrorInfo.ErrorMessage);
                }
                else
                {
                    ReloadOverzight();
                    dataGridView1_SelectionChanged(null, null);
                }
            }
        }
        void HandelNfcScan(string _read)
        {
            if (!_NoConnectionMode)
            {
                _TimerCleanUserInfoScreen.Stop();
                NetCom.ServerRequestTekenInOfUit request = new NetCom.ServerRequestTekenInOfUit();
                request.NFCCode = _read;

                NetCom.ServerResponse response;

                try
                {
                    response = webbbbrrrrrry(request);
                }
                catch
                {
                    //if (MessageBox.Show("Kan Niet Verbinden Met Server", "Ga Naar Alarm Modus?", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)==DialogResult.Yes) {
                    enableNoConnectionMode();
                    // } else {
                    //     this.BackColor=Color.Yellow;
                    //}
                    return;
                }

                this.BackColor = SystemColors.Control;

                if (response.IsErrorOccurred)
                {
                    MessageBox.Show(response.ErrorInfo.ErrorMessage);
                }
                else
                {
                    NetCom.ServerResponseInteken intekenResponse = JsonConvert.DeserializeObject <NetCom.ServerResponseInteken>(JsonConvert.SerializeObject(response.Response));
                    labelNaam.Text = intekenResponse.TheUserWithEntryInfo.UsE.VoorNaam + " " + intekenResponse.TheUserWithEntryInfo.UsE.AchterNaam;
                    if (intekenResponse.uitekenengeanuleerd)
                    {
                        labelInOfUitGetekend.Text = "Uitekenen Geanuleerd";
                    }
                    if (intekenResponse.ingetekened)
                    {
                        labelInOfUitGetekend.Text = "Je Bent Nu Ingetekend";
                    }
                    if (intekenResponse.uitgetekened)
                    {
                        labelInOfUitGetekend.Text = "Je Bent Nu Uitgetekend";
                    }
                    _TimerCleanUserInfoScreen.Start();
                    updateOverzight();
                }
            }
        }
        public static NetCom.ServerResponseInteken inteken(DBDingus.AcountTableEntry _userAcount, NetCom.ServerRequestTekenInOfUit _request)
        {
            NetCom.ServerResponseInteken toReturn = new NetCom.ServerResponseInteken();
            SqlCommand command;

            //get userID of scan
            command = new SqlCommand();
            command.Parameters.AddWithValue("@nfcode", _request.NFCCode);
            command.CommandText = $"select * from {DBDingus.UserTableNames.UserTableName} where {DBDingus.UserTableNames.NFCID} = @nfcode";
            List <DBDingus.UserTableTableEntry> foundUsers = FuncsVSQL.GetListUTFromReader(command); //_DBDingus.GetListUTFromReader(FuncsVSQL.SQLQuery(command));

            if (foundUsers.Count > 0)
            {
                toReturn.TheUserWithEntryInfo.UsE = foundUsers[0];
            }
            else
            {
                throw new Exception("Card Unknown");
            }

            //inteken/uiteken
            command = new SqlCommand();
            command.Parameters.AddWithValue("@userid", toReturn.TheUserWithEntryInfo.UsE.ID);
            if (_request.DateIsToday)
            {
                command.CommandText = $"select * from {DBDingus.RegistratieTableNames.RegistratieTableName} where {DBDingus.RegistratieTableNames.IDOfUserRelated} = @userid and {DBDingus.RegistratieTableNames.Date} = cast(getdate() as date)";
            }
            else
            {
                command.CommandText = $"select * from {DBDingus.RegistratieTableNames.RegistratieTableName} where {DBDingus.RegistratieTableNames.IDOfUserRelated} = @userid and {DBDingus.RegistratieTableNames.Date} = cast('{_request.Date.ToString("yyyy\\/MM\\/dd")}' as date)";
            }
            List <DBDingus.RegistratieTableTableEntry> _existingRegEntry = FuncsVSQL.GetListRTFromReader(command); //_DBDingus.GetListRTFromReader(FuncsVSQL.SQLQuery(command));

            DBDingus.RegistratieTableTableEntry existingRegEntry;
            command = new SqlCommand();
            if (_existingRegEntry.Count > 0)
            {
                // edit
                existingRegEntry        = _existingRegEntry[0];
                existingRegEntry.IsLaat = false;
                existingRegEntry.Verwachtetijdvanaanwezighijd = new TimeSpan();

                command.Parameters.AddWithValue("@id", existingRegEntry.ID);
                if (existingRegEntry.HeeftIngetekend)
                {
                    if (existingRegEntry.IsAanwezig)
                    {
                        //update teken uit cast('{_Request.deEntry.Date.ToString("yyyy\\/MM\\/dd")}
                        toReturn.uitgetekened = true;
                        if (_request.DateIsToday)
                        {
                            command.CommandText = $"update {DBDingus.RegistratieTableNames.RegistratieTableName} set {DBDingus.RegistratieTableNames.TimeUitteken} = cast(getdate() as time), {DBDingus.RegistratieTableNames.IsAanwezig} = 0 ,{DBDingus.RegistratieTableNames.IsLaat} = 0 where {DBDingus.RegistratieTableNames.Date} = cast(getdate() as date) and {DBDingus.RegistratieTableNames.IDOfUserRelated} = {toReturn.TheUserWithEntryInfo.UsE.ID}";
                        }
                        else
                        {
                            command.CommandText = $"update {DBDingus.RegistratieTableNames.RegistratieTableName} set {DBDingus.RegistratieTableNames.TimeUitteken} = cast(getdate() as time), {DBDingus.RegistratieTableNames.IsAanwezig} = 0 ,{DBDingus.RegistratieTableNames.IsLaat} = 0 where {DBDingus.RegistratieTableNames.Date} = cast('{_request.Date.ToString("yyyy\\/MM\\/dd")}' as date) and {DBDingus.RegistratieTableNames.IDOfUserRelated} = {toReturn.TheUserWithEntryInfo.UsE.ID}";
                        }
                    }
                    else
                    {
                        //update anuleer uitteken
                        toReturn.uitekenengeanuleerd = true;
                        if (_request.DateIsToday)
                        {
                            command.CommandText = $"update {DBDingus.RegistratieTableNames.RegistratieTableName} set {DBDingus.RegistratieTableNames.IsAanwezig} = 1, {DBDingus.RegistratieTableNames.IsLaat} = 0  where {DBDingus.RegistratieTableNames.Date} = cast(getdate() as date) and {DBDingus.RegistratieTableNames.IDOfUserRelated} = {toReturn.TheUserWithEntryInfo.UsE.ID}";
                        }
                        else
                        {
                            command.CommandText = $"update {DBDingus.RegistratieTableNames.RegistratieTableName} set {DBDingus.RegistratieTableNames.IsAanwezig} = 1, {DBDingus.RegistratieTableNames.IsLaat} = 0  where {DBDingus.RegistratieTableNames.Date} = cast('{_request.Date.ToString("yyyy\\/MM\\/dd")}' as date) and {DBDingus.RegistratieTableNames.IDOfUserRelated} = {toReturn.TheUserWithEntryInfo.UsE.ID}";
                        }
                    }
                }
                else
                {
                    //update inteken
                    toReturn.ingetekened = true;
                    if (_request.DateIsToday)
                    {
                        command.CommandText = $"update {DBDingus.RegistratieTableNames.RegistratieTableName} set {DBDingus.RegistratieTableNames.HeeftIngetekend} = 1, {DBDingus.RegistratieTableNames.TimeInteken} = cast(getdate() as time), {DBDingus.RegistratieTableNames.IsAanwezig} = 1, {DBDingus.RegistratieTableNames.IsLaat} = 0  where {DBDingus.RegistratieTableNames.Date} = cast(getdate() as date) and {DBDingus.RegistratieTableNames.IDOfUserRelated} = {toReturn.TheUserWithEntryInfo.UsE.ID}";
                    }
                    else
                    {
                        command.CommandText = $"update {DBDingus.RegistratieTableNames.RegistratieTableName} set {DBDingus.RegistratieTableNames.HeeftIngetekend} = 1, {DBDingus.RegistratieTableNames.TimeInteken} = cast(getdate() as time), {DBDingus.RegistratieTableNames.IsAanwezig} = 1, {DBDingus.RegistratieTableNames.IsLaat} = 0  where {DBDingus.RegistratieTableNames.Date} = cast('{_request.Date.ToString("yyyy\\/MM\\/dd")}' as date) and {DBDingus.RegistratieTableNames.IDOfUserRelated} = {toReturn.TheUserWithEntryInfo.UsE.ID}";
                    }
                }
            }
            else
            {
                //new
                //inteken
                command.Parameters.AddWithValue("@relatedUserId", foundUsers[0].ID);
                toReturn.ingetekened = true;
                if (_request.DateIsToday)
                {
                    command.CommandText = $"insert into {DBDingus.RegistratieTableNames.RegistratieTableName} ({DBDingus.RegistratieTableNames.IDOfUserRelated},{DBDingus.RegistratieTableNames.Date},{DBDingus.RegistratieTableNames.TimeInteken},{DBDingus.RegistratieTableNames.HeeftIngetekend},{DBDingus.RegistratieTableNames.IsAanwezig},{DBDingus.RegistratieTableNames.IsZiek},{DBDingus.RegistratieTableNames.IsFlexibelverlof},{DBDingus.RegistratieTableNames.IsStudieverlof},{DBDingus.RegistratieTableNames.IsExcursie},{DBDingus.RegistratieTableNames.IsLaat},{DBDingus.RegistratieTableNames.IsToegestaanAfwezig},{DBDingus.RegistratieTableNames.Opmerking},{DBDingus.RegistratieTableNames.Verwachtetijdvanaanwezighijd}) values (@relatedUserId, cast(getdate() as date), cast(getdate() as time), 1,1,0,0,0,0,0,0,'','')";
                }
                else
                {
                    command.CommandText = $"insert into {DBDingus.RegistratieTableNames.RegistratieTableName} ({DBDingus.RegistratieTableNames.IDOfUserRelated},{DBDingus.RegistratieTableNames.Date},{DBDingus.RegistratieTableNames.TimeInteken},{DBDingus.RegistratieTableNames.HeeftIngetekend},{DBDingus.RegistratieTableNames.IsAanwezig},{DBDingus.RegistratieTableNames.IsZiek},{DBDingus.RegistratieTableNames.IsFlexibelverlof},{DBDingus.RegistratieTableNames.IsStudieverlof},{DBDingus.RegistratieTableNames.IsExcursie},{DBDingus.RegistratieTableNames.IsLaat},{DBDingus.RegistratieTableNames.IsToegestaanAfwezig},{DBDingus.RegistratieTableNames.Opmerking},{DBDingus.RegistratieTableNames.Verwachtetijdvanaanwezighijd}) values (@relatedUserId, cast('{_request.Date.ToString("yyyy\\/MM\\/dd")}' as date), cast(getdate() as time), 1,1,0,0,0,0,0,0,'','')";
                }
            }
            FuncsVSQL.SQLNonQuery(command);
            command = new SqlCommand();
            command.Parameters.AddWithValue("@userid", toReturn.TheUserWithEntryInfo.UsE.ID);
            if (_request.DateIsToday)
            {
                command.CommandText = $"select * from {DBDingus.RegistratieTableNames.RegistratieTableName} where {DBDingus.RegistratieTableNames.IDOfUserRelated} = @userid and {DBDingus.RegistratieTableNames.Date} = cast(getdate() as date)";
            }
            else
            {
                command.CommandText = $"select * from {DBDingus.RegistratieTableNames.RegistratieTableName} where {DBDingus.RegistratieTableNames.IDOfUserRelated} = @userid and {DBDingus.RegistratieTableNames.Date} = cast('{_request.Date.ToString("yyyy\\/MM\\/dd")}' as date)";
            }
            List <DBDingus.RegistratieTableTableEntry> endResult = FuncsVSQL.GetListRTFromReader(command); //_DBDingus.GetListRTFromReader(FuncsVSQL.SQLQuery(command));

            toReturn.TheUserWithEntryInfo.HasTodayRegEntry = true;
            toReturn.TheUserWithEntryInfo.RegE             = endResult[0];
            return(toReturn);
        }