Ejemplo n.º 1
0
        private void btn_Conferma_Click(object sender, EventArgs e)
        {
            string username = this.lbl_cliente.Text;
            string numconto = this.lbl_NumeroConto.Text;
            string nome     = this.txt_nome.Text;
            string cognome  = this.txt_cognome.Text;
            string codfisc  = this.txt_CF.Text;

            ContoCorrente newCC = new ContoCorrente(numconto);


            Cliente newCliente = new Cliente()
            {
                Username  = username,
                FirstName = nome,
                LastName  = cognome,
                CF        = codfisc,
                mioConto  = newCC
            };

            DataOperationResult result = dataManager.CreatenewCliente(newCliente);

            if (result.IsOk)
            {
                ManageCCForm manageForm = new ManageCCForm(numconto);
                manageForm.Tag = this;
                manageForm.Show();
                this.Hide();
            }
            else
            {
                this.label7.Text = result.Message;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="QueryOperation"/> class.
        /// </summary>
        /// <param name="doc">The document representing the operation.</param>
        public QueryOperation(Document doc)
        {
            if (doc == null)
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidDocument, "The value under 'query' is not a valid document.");
                return;
            }

            int foundFields = 0;

            if (doc.ContainsKey("fields") && doc["fields"].ValueType == DocumentEntryType.Document)
            {
                ++foundFields;
                _fields = doc["fields"].ValueAsDocument;
            }
            else if (doc.ContainsKey("fields"))
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidDocument, "The 'fields' field is present, but is not a valid document.");
                return;
            }
            else
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidDocument, "The 'fields' field is required for the query operation.");
                return;
            }

            if (foundFields != doc.Count)
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidDocument, "The number of found fields in the 'query' document does not match the number of valid fields.");
                return;
            }

            _valid = true;
        }
Ejemplo n.º 3
0
		private static string GetMessage(DataOperationResult errType)
		{
			switch (errType)
			{
				case DataOperationResult.Successful:
					return "Successful";
				case DataOperationResult.Copy_TargetContainsSameName:
					return "Copy_TargetContainsSameName";
				case DataOperationResult.Copy_PartialOpenMinorPermission:
					return "Copy_PartialOpenMinorPermission";
				case DataOperationResult.Copy_ExpectedAddNewPermission:
					return "Copy_ExpectedAddNewPermission";
				case DataOperationResult.Copy_ContentList:
                    return "Copy_ContentList";
				case DataOperationResult.Copy_NodeWithContentListContent:
                    return "Copy_NodeWithContentListContent";
				case DataOperationResult.Move_TargetContainsSameName:
					return "Move_TargetContainsSameName";
				case DataOperationResult.Move_PartiallyLockedSourceTree:
					return "Move_PartiallyLockedSourceTree";
				case DataOperationResult.Move_PartialOpenMinorPermission:
					return "Move_PartialOpenMinorPermission";
				case DataOperationResult.Move_PartialDeletePermission:
					return "Move_PartialDeletePermission";
				case DataOperationResult.Move_ExpectedAddNewPermission:
					return "Move_ExpectedAddNewPermission";
				case DataOperationResult.Move_ContentListUnderContentList:
                    return "Move_ContentListUnderContentList";
				case DataOperationResult.Move_NodeWithContentListContentUnderContentList:
                    return "Move_NodeWithContentListContentUnderContentList";
				default:
					return "";
			}
		}
Ejemplo n.º 4
0
 private void btn_bonifico_Click(object sender, EventArgs e)
 {
     beneficiario_bonifico = this.txt_beneficiario.Text;
     contocorrente.Bonifico(Double.Parse(txt_importo_bonifico.Text), beneficiario_bonifico);
     this.txt_movimenti.Text += contocorrente.ShowMovimenti("bonifico") + "\r\n";
     result_aggiornamento     = datamanager1.AggiornaFileMovimenti(contocorrente.GetMovimento());
 }
Ejemplo n.º 5
0
        private void btn_preleva_Click(object sender, EventArgs e)
        {
            contocorrente.Preleva(Double.Parse(txt_importo.Text));
            //displayBox.AppendText(sent);
            //displayBox.AppendText(Environment.NewLine);

            this.txt_movimenti.Text += contocorrente.ShowMovimenti("prelievo") + "\r\n";
            result_aggiornamento     = datamanager1.AggiornaFileMovimenti(contocorrente.GetMovimento());
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AddOperation"/> class.
        /// </summary>
        /// <param name="doc">The document representing the operation.</param>
        public AddOperation(Document doc)
        {
            if (doc == null)
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidDocument, "The value under 'add' is not a valid document.");
                return;
            }

            if (!doc.ContainsKey("document"))
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidDocument, "The 'document' field is required for the add operation.");
                return;
            }

            if (doc["document"].ValueType != DocumentEntryType.Document)
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidDocument, "The 'document' field is not a valid document.");
                return;
            }

            if (doc.Count != 1)
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidDocument, "The number of found fields in the 'add' document does not match the number of valid fields.");
                return;
            }

            _document = doc["document"].ValueAsDocument;

            if (!_document.ContainsKey("id"))
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidId, "Document does not contain an id field.");
                return;
            }

            if (_document["id"].ValueType != DocumentEntryType.String)
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidId, "Document contains an id field that is not an ObjectId.");
                return;
            }

            try
            {
                _id = new ObjectId(_document["id"].ValueAsString);
            }
            catch (Exception)
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidId, "Document contains an id field that is not an ObjectId.");
                return;
            }

            _valid = true;
        }
Ejemplo n.º 7
0
        internal void DeleteNode(int nodeId)
        {
            DataOperationResult result = DeleteNodeTree(nodeId);

            if (result == DataOperationResult.Successful)
            {
                return;
            }
            DataOperationException exc = new DataOperationException(result);

            exc.Data.Add("NodeId", nodeId);
            throw exc;
        }
Ejemplo n.º 8
0
        internal void DeleteNodePsychical(int nodeId, long timestamp)
        {
            DataOperationResult result = DeleteNodeTreePsychical(nodeId, timestamp);

            if (result == DataOperationResult.Successful)
            {
                return;
            }
            DataOperationException exc = new DataOperationException(result);

            exc.Data.Add("NodeId", nodeId);
            throw exc;
        }
Ejemplo n.º 9
0
        /////////////// Operations

        internal void MoveNode(int sourceNodeId, int targetNodeId, long sourceTimestamp, long targetTimestamp)
        {
            DataOperationResult result = MoveNodeTree(sourceNodeId, targetNodeId, sourceTimestamp, targetTimestamp);

            if (result == DataOperationResult.Successful)
            {
                return;
            }
            DataOperationException exc = new DataOperationException(result);

            exc.Data.Add("SourceNodeId", sourceNodeId);
            exc.Data.Add("TargetNodeId", targetNodeId);
            throw exc;
        }
Ejemplo n.º 10
0
        private static string GetMessage(DataOperationResult errType)
        {
            switch (errType)
            {
            case DataOperationResult.Successful:
                return("Successful");

            case DataOperationResult.Copy_TargetContainsSameName:
                return("Copy_TargetContainsSameName");

            case DataOperationResult.Copy_PartialOpenMinorPermission:
                return("Copy_PartialOpenMinorPermission");

            case DataOperationResult.Copy_ExpectedAddNewPermission:
                return("Copy_ExpectedAddNewPermission");

            case DataOperationResult.Copy_ContentList:
                return("Copy_ContentList");

            case DataOperationResult.Copy_NodeWithContentListContent:
                return("Copy_NodeWithContentListContent");

            case DataOperationResult.Move_TargetContainsSameName:
                return("Move_TargetContainsSameName");

            case DataOperationResult.Move_PartiallyLockedSourceTree:
                return("Move_PartiallyLockedSourceTree");

            case DataOperationResult.Move_PartialOpenMinorPermission:
                return("Move_PartialOpenMinorPermission");

            case DataOperationResult.Move_PartialDeletePermission:
                return("Move_PartialDeletePermission");

            case DataOperationResult.Move_ExpectedAddNewPermission:
                return("Move_ExpectedAddNewPermission");

            case DataOperationResult.Move_ContentListUnderContentList:
                return("Move_ContentListUnderContentList");

            case DataOperationResult.Move_NodeWithContentListContentUnderContentList:
                return("Move_NodeWithContentListContentUnderContentList");

            default:
                return("");
            }
        }
Ejemplo n.º 11
0
        private void btn_conferma_Click(object sender, EventArgs e)
        {
            string        numconto   = this.label3.Text;
            string        username   = this.lbl_owner.Text;
            string        nome       = this.txt_nome.Text;
            string        cognome    = this.txt_cognome.Text;
            string        CF         = this.txt_CF.Text;
            ContoCorrente newCC      = new ContoCorrente(numconto, 0); // creo una nuova entità conto corrente
            Cliente       newCliente = new Cliente()                   // creo una nuova entità cliente, a cui però devo pasare un oggetto conto corrente

            {
                Username  = username,
                FirstName = nome,
                LastName  = cognome,
                CF        = CF,
                mioConto  = newCC
            };



            //ora devo creare un'entità cliente e una conto corrente

            DataOperationResult result = datamanager.CreateNewCliente(newCliente); // ora scrivo i dati usando datamanager

            if (result.isOK)
            {
                ManageCCForm manageform = new ManageCCForm(newCC, numconto, newCC.GetSaldo(), "OpenCC");
                manageform.Tag = this; // this è open ccform
                manageform.Show();
                this.Hide();
            }
            else
            {
                this.label7.Text = "L'operazione non è andata a buon fine, riprovare";
            }


            //ManageCCForm manageform = new ManageCCForm();
            //manageform.Show();
            //this.Hide();

            //manageform.Tag = this;
            //manageform.Show(this);
            //this.Hide();
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Processes an update operation.
        /// </summary>
        /// <param name="dataOperation">The document that represents the operation.</param>
        /// <param name="message">The original message.</param>
        private void ProcessUpdateOperation(Document dataOperation, Message message)
        {
            UpdateOperation updateOperation = new UpdateOperation(dataOperation["update"].ValueAsDocument);

            if (!updateOperation.Valid)
            {
                SendMessage(new Message(message, updateOperation.ErrorMessage, false));
                return;
            }

            _chunkListLock.EnterReadLock();
            var chunk = _chunkList.SingleOrDefault(e => ChunkMarker.IsBetween(e.Start, e.End, updateOperation.DocumentId.ToString()));

            _chunkListLock.ExitReadLock();

            NodeDefinition node = chunk == null ? null : chunk.Node;

            if (node == null)
            {
                SendMessage(new Message(message, new DataOperationResult(ErrorCodes.FailedMessage, "No storage node up for the specified id range."), false));
                return;
            }

            Message operationMessage = new Message(node, message.Data, true);

            operationMessage.SetResponseCallback(delegate(Message originalOperationMessage)
            {
                if (originalOperationMessage.Success)
                {
                    DataOperationResult result = (DataOperationResult)originalOperationMessage.Response.Data;
                    Document resultDocument    = new Document(result.Result);
                    if (!resultDocument["success"].ValueAsBoolean && (ErrorCodes)Enum.Parse(typeof(ErrorCodes), resultDocument["errorcode"].ValueAsString) == ErrorCodes.ChunkMoved)
                    {
                        ProcessUpdateOperation(dataOperation, message);
                        return;
                    }

                    SendMessage(new Message(message, result, false));
                    return;
                }

                SendMessage(new Message(message, new DataOperationResult(ErrorCodes.FailedMessage, "Failed to send message to storage node."), false));
            });
            SendMessage(operationMessage);
        }
Ejemplo n.º 13
0
        public DataOperationResult SaveAsync()
        {
            var result = new DataOperationResult();

            try
            {
                Context.SaveChangesAsync();
                result.Success = true;
                result.Messages.Add(successMessage);
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Messages.Add(failMessage);
                result.Messages.Add(ErrorHelper.GetExceptionMessage(ex));
            }
            return(result);
        }
Ejemplo n.º 14
0
        private void btn_conferma_Click(object sender, EventArgs e)
        {
            string numconto = this.lbl_numeroconto.Text;
            string username = this.lbl_cliente.Text;
            string nome     = this.txt_nome.Text;
            string cognome  = this.txt_cognome.Text;
            string cf       = this.txt_cf.Text;

            ContoCorrente newcc = new ContoCorrente(numconto);

            Cliente newclient = new Cliente()
            {
                Username  = username,
                FirstName = nome,
                LastName  = cognome,
                CF        = cf,
                mioConto  = newcc
            };

            //datamanager.CreateNewContoCorrente(newcc);
            DataOperationResult result = datamanager.CreateNewCliente(newclient);

            //le entity che vengono create, si salvano nei supporti dati tramite il DataManager
            //Il dialogo tra le parti avviene tramite entities che sono distaccate dal DataManager
            if (result.IsOk)
            {
                //FormLogin formlogin = (FormLogin)Tag;
                //formlogin.Close();
                FormManageCC manageform = new FormManageCC(numconto);
                manageform.Tag = this;
                manageform.Show();
                this.Hide();
            }
            else
            {
                this.lbl_error.Text = result.Message;
            }
        }
Ejemplo n.º 15
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="newCliente"></param>
        /// <returns></returns>
        public DataOperationResult CreateNewCliente(Cliente newCliente)
        {
            DataOperationResult result = new DataOperationResult();

            // Write a row in Clienti.txt
            try
            {
                //   comment .... https://stackoverflow.com/a/21795858

                using (System.IO.StreamWriter sw_clienti = File.AppendText(clientiFileName))
                {
                    string s_new_cliente = newCliente.Username + ";" +
                                           newCliente.FirstName + ";" +
                                           newCliente.LastName + ";" +
                                           newCliente.CF;
                    sw_clienti.WriteLine(s_new_cliente);
                    sw_clienti.Close();
                }

                using (System.IO.StreamWriter sw_cc = File.AppendText(ccFileName))
                {
                    ContoCorrente new_cc   = newCliente.mioConto;
                    string        s_new_cc = new_cc.GetNumeroConto() + ";" + new_cc.GetSaldo() + ";" + newCliente.Username;
                    sw_cc.WriteLine(s_new_cc);
                    sw_cc.Close();
                }

                result.IsOK = true;
            }
            catch (Exception excp)
            {
                result.IsOK    = false;
                result.Message = excp.Message;
            }


            return(result);
        }
Ejemplo n.º 16
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RemoveOperation"/> class.
        /// </summary>
        /// <param name="doc">The document representing the operation.</param>
        public RemoveOperation(Document doc)
        {
            if (doc == null)
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidDocument, "The value under 'remove' is not a valid document.");
                return;
            }

            if (doc.ContainsKey("documentId") && doc["documentId"].ValueType == DocumentEntryType.String)
            {
                try
                {
                    _documentId = new ObjectId(doc["documentId"].ValueAsString);
                }
                catch (Exception)
                {
                    _errorMessage = new DataOperationResult(ErrorCodes.InvalidId, "The 'documentId' field is not a valid ObjectId.");
                    return;
                }
            }
            else if (doc.ContainsKey("documentId"))
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidId, "The 'documentId' field is not a string value.");
                return;
            }
            else
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidId, "The 'documentId' field is required for the update operation.");
                return;
            }

            if (doc.Count != 1)
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidDocument, "The number of found fields in the 'remove' document does not match the number of valid fields.");
            }

            _valid = true;
        }
Ejemplo n.º 17
0
        public DataOperationResult CreatenewCliente(Cliente newCliente)
        {
            DataOperationResult result = new DataOperationResult();

            //scrivere una riga in Clienti.txt
            try
            {
                using (
                    System.IO.StreamWriter sw_clienti = File.AppendText(clientiFilename))
                {
                    string s_new_cliente = newCliente.Username + ";" +
                                           newCliente.FirstName + ";" +
                                           newCliente.LastName + ";" +
                                           newCliente.CF;
                    sw_clienti.WriteLine(s_new_cliente);
                    sw_clienti.Close();
                }

                using (System.IO.StreamWriter sw_cc = File.AppendText(CCFilename))
                {
                    ContoCorrente newCC   = newCliente.mioConto;
                    string        s_newcc = newCC.GetNumeroConto() + ";" + newCC.GetSaldo() + ";" + newCliente.Username;

                    sw_cc.WriteLine(s_newcc);
                    sw_cc.Close();
                }

                result.IsOk = true;
            }
            catch (Exception excp)
            {
                result.IsOk    = false;
                result.Message = excp.Message;
            }

            return(result);
        }
Ejemplo n.º 18
0
        private void btn_versa_Click(object sender, EventArgs e)
        {
            contocorrente.Deposita(Double.Parse(txt_importo.Text));

            this.txt_movimenti.Text += contocorrente.ShowMovimenti("deposito") + "\r\n";
            result_aggiornamento     = datamanager1.AggiornaFileMovimenti(contocorrente.GetMovimento());
            //string line;
            //string saldo_corrente = "";
            //char[] chararray = new char[1]; // se scrivessi char[] ca starei dichiarando un puntatore vuoto
            //chararray[0] = ';';
            //System.IO.StreamReader file = new System.IO.StreamReader(System.IO.Path.Combine(@"C:\Users\giulia.soresini\Desktop", "ContiCorrenti.txt");
            //while ((line = file.ReadLine()) != null) // quella tra paresntesi si chiama guardia ed e' un espressione booleana
            //{
            //    String[] resultArray = line.Split(chararray);
            //    string current_conto = resultArray[0];

            //    if (current_conto == conto)
            //    {
            //        saldo_corrente = resultArray[1];
            //        break;
            //    }



            //}
            //file.Close();

            //saldo_corrente += Double.Parse(txt_importo.Text);
            //Movimento deposito = new Movimento() // così inizializzo una classe in un modo diverso
            //{
            //    Tipo = TipoMovimento.Deposito,
            //    Importo = Double.Parse(txt_importo.Text),
            //    Data = DateTime.Now // data di adesso
            //};
            //Movimenti.Add(deposito);
        }
Ejemplo n.º 19
0
 public DataOperationException(DataOperationResult errType) : this(errType, GetMessage(errType))
 {
 }
Ejemplo n.º 20
0
		public DataOperationException(DataOperationResult errType) : this(errType, GetMessage(errType)) { }
Ejemplo n.º 21
0
		public DataOperationException(DataOperationResult errType, string message, Exception inner) : base((int)errType, message, inner) { }
Ejemplo n.º 22
0
        /// <summary>
        /// Initializes a new instance of the <see cref="UpdateOperation"/> class.
        /// </summary>
        /// <param name="doc">The document representing the operation.</param>
        public UpdateOperation(Document doc)
        {
            if (doc == null)
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidDocument, "The value under 'update' is not a valid document.");
                return;
            }

            int foundFields = 0;

            if (doc.ContainsKey("documentId") && doc["documentId"].ValueType == DocumentEntryType.String)
            {
                ++foundFields;
                try
                {
                    _documentId = new ObjectId(doc["documentId"].ValueAsString);
                }
                catch (Exception)
                {
                    _errorMessage = new DataOperationResult(ErrorCodes.InvalidId, "The 'documentId' field is not a valid ObjectId.");
                    return;
                }
            }
            else if (doc.ContainsKey("documentId"))
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidId, "The 'documentId' field is not a string value.");
                return;
            }
            else
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidId, "The 'documentId' field is required for the update operation.");
                return;
            }

            if (doc.ContainsKey("updateFields") && doc["updateFields"].ValueType == DocumentEntryType.Document)
            {
                ++foundFields;
                _updateFields = doc["updateFields"].ValueAsDocument;
            }
            else if (doc.ContainsKey("updateFields"))
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidDocument, "The 'updateFields' field is present, but is not a valid document.");
                return;
            }

            if (doc.ContainsKey("removeFields") && doc["removeFields"].ValueType == DocumentEntryType.Array)
            {
                ++foundFields;
                _removeFields = new List <string>();
                foreach (var item in doc["removeFields"].ValueAsArray)
                {
                    if (item.ValueType != DocumentEntryType.String)
                    {
                        _errorMessage = new DataOperationResult(ErrorCodes.InvalidDocument, "Not all items in the 'removeFields' array is a string.");
                        return;
                    }

                    _removeFields.Add(item.ValueAsString);
                }
            }
            else if (doc.ContainsKey("removeFields"))
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidDocument, "The 'removeFields' field is present, but is not a valid array.");
                return;
            }

            if (foundFields != doc.Count)
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidDocument, "The number of found fields in the 'update' document does not match the number of valid fields.");
            }

            if (_updateFields.ContainsKey("id") || _removeFields.Contains("id"))
            {
                _errorMessage = new DataOperationResult(ErrorCodes.InvalidDocument, "Cannot modify the ObjectId of a document after it is created.");
                return;
            }

            _valid = true;
        }
Ejemplo n.º 23
0
 public void Add <T>(DataOperationResult <T> result, bool isPermanent)
 {
     Add(new Feedback(result.Description, result.IsSuccess, isPermanent));
 }
Ejemplo n.º 24
0
        /// <inheritdoc />
        protected override void MessageReceived(Message message)
        {
            if (message.Data is JoinAttempt)
            {
                JoinAttempt attempt = (JoinAttempt)message.Data;
                if (attempt.Type != NodeType.Query && attempt.Type != NodeType.Storage)
                {
                    SendMessage(new Message(message, new JoinFailure("Only a query node can send a join attempt to a storage node."), false)
                    {
                        SendWithoutConfirmation = true
                    });
                }

                if (attempt.Settings != _settings.ConnectionString)
                {
                    SendMessage(new Message(message, new JoinFailure("The connection strings do not match."), false)
                    {
                        SendWithoutConfirmation = true
                    });
                }

                NodeDefinition nodeDef = new NodeDefinition(attempt.Name, attempt.Port);
                RenameConnection(message.Address, nodeDef);
                Connections[nodeDef].ConnectionEstablished(nodeDef, attempt.Type);
                Message response = new Message(message, new JoinSuccess(new Document()), true)
                {
                    Address = nodeDef
                };

                SendMessage(response);
                response.BlockUntilDone();
            }
            else if (message.Data is PrimaryAnnouncement)
            {
                Logger.Log("Setting the primary controller to " + message.Address.ConnectionName, LogLevel.Info);
                Primary = message.Address;
            }
            else if (message.Data is DataOperation)
            {
                DataOperationResult result;
                try
                {
                    result = _database.ProcessOperation((DataOperation)message.Data);
                }
                catch (ChunkMovedException)
                {
                    result = new DataOperationResult(ErrorCodes.ChunkMoved, "The chunk has been moved.");
                }
                catch (Exception e)
                {
                    Logger.Log(e.Message + "\nStackTrace:" + e.StackTrace, LogLevel.Error);
                    result = new DataOperationResult(ErrorCodes.FailedMessage, "An exception occurred while processing the operation.");
                }

                SendMessage(new Message(message, result, false));
            }
            else if (message.Data is DatabaseCreate)
            {
                _database.Create();
                SendMessage(new Message(message, new Acknowledgement(), false));
            }
            else if (message.Data is ChunkTransfer)
            {
                var transfer = (ChunkTransfer)message.Data;
                MessageReceivedThreadPool.QueueWorkItem(TransferChunk, transfer);
            }
            else if (message.Data is ChunkDataRequest)
            {
                _database.ProcessChunkDataRequest((ChunkDataRequest)message.Data, message);
            }
            else if (message.Data is ChunkListRequest)
            {
                _database.ProcessChunkListRequest(message, (ChunkListRequest)message.Data);
            }
        }
Ejemplo n.º 25
0
 public DataOperationException(DataOperationResult errType, string message, Exception inner) : base((int)errType, message, inner)
 {
 }