private void MergeTransfers(TransferList data) { foreach (var transfer in data.Transfers) { var source = transfer.ToModel(Invoker); var target = Collection.FirstOrDefault(x => x.Transfer.TransferID == source.TransferID); if (target == null) { Invoker.HandleCall(() => Collection.Add(new TransferViewModel { Invoker = Invoker, Transfer = source })); continue; } GeneralExtensions.Copy(source, target.Transfer); } var toDelete = Collection.Where(x => !data.Transfers.Any(y => y.id == x.Transfer.TransferID)).ToList(); foreach (var model in toDelete) { var model1 = model; Invoker.HandleCall(() => Collection.Remove(model1)); } }
private void TransferList_MouseClick(object sender, MouseEventArgs e) { if (e.Button != MouseButtons.Right) { return; } TreeListNode node = TransferList.GetNodeAt(e.Location) as TreeListNode; if (node == null || node.GetType() != typeof(TransferNode)) { return; } ContextMenuStripEx menu = new ContextMenuStripEx(); TransferNode transfer = node as TransferNode; menu.Items.Add(new ToolStripMenuItem("Copy Hash to Clipboaard", null, (s, o) => { Clipboard.SetText(Utilities.ToBase64String(transfer.Transfer.Details.Hash)); })); menu.Show(TransferList, e.Location); }
private void accordionControlElement64_Click(object sender, EventArgs e) { tl = new TransferList(); tl.Show(); tl.Dock = DockStyle.Fill; panel2.Controls.Clear(); panel2.Controls.Add(tl); }
public static List <TransferViewModel> ToModelList(this TransferList @this, IPropertyChangedInvoke invoker) { if (@this == null || @this.Transfers == null) { return(new List <TransferViewModel>()); } return(@this.Transfers.Select(x => new TransferViewModel { Invoker = invoker, Transfer = x.ToModel(invoker) }).ToList()); }
internal static TransferList CryptoTransferList(IEnumerable <KeyValuePair <Address, long> > cryptoTransfers) { long sum = 0; if (cryptoTransfers is null) { throw new ArgumentNullException(nameof(cryptoTransfers), "The dictionary of crypto transfers can not be null."); } var netRequests = new Dictionary <Address, long>(); foreach (var transfer in cryptoTransfers) { if (transfer.Value == 0) { throw new ArgumentOutOfRangeException(nameof(cryptoTransfers), $"The amount to transfer crypto to/from {transfer.Key.ShardNum}.{transfer.Key.RealmNum}.{transfer.Key.AccountNum} must be a value, negative for transfers out, and positive for transfers in. A value of zero is not allowed."); } if (netRequests.TryGetValue(transfer.Key, out long value)) { netRequests[transfer.Key] = value + transfer.Value; } else { netRequests[transfer.Key] = transfer.Value; } sum += transfer.Value; } if (netRequests.Count == 0) { throw new ArgumentOutOfRangeException(nameof(cryptoTransfers), "The dictionary of crypto transfers can not be empty."); } if (sum != 0) { throw new ArgumentOutOfRangeException(nameof(cryptoTransfers), "The sum of crypto sends and receives does not balance."); } var xferList = new TransferList(); foreach (var transfer in netRequests) { if (transfer.Value != 0) { xferList.AccountAmounts.Add(new AccountAmount { AccountID = new AccountID(transfer.Key), Amount = transfer.Value }); } } return(xferList); }
public override string ToString() { if (HasErrors) { return(string.Format("Invalid Set of Transfers: {0}", ErrorMessage)); } else if (!IsComplete) { return("Incomplete Set of Transfers"); } else if (TotalCount == 0) { return("[]"); } else { return(string.Format("[{0}]", string.Join(";", TransferList.Select(x => x.ToString())))); } }
internal CryptoTransferTransactionBody(AddressOrAlias fromAddress, AddressOrAlias toAddress, long amount) : this() { if (fromAddress is null) { throw new ArgumentNullException(nameof(fromAddress), "Account to transfer from is missing. Please check that it is not null."); } if (toAddress is null) { throw new ArgumentNullException(nameof(toAddress), "Account to transfer to is missing. Please check that it is not null."); } if (amount < 1) { throw new ArgumentOutOfRangeException(nameof(amount), "The amount to transfer must be non-negative."); } var xferList = new TransferList(); xferList.AccountAmounts.Add(new AccountAmount(fromAddress, -amount)); xferList.AccountAmounts.Add(new AccountAmount(toAddress, amount)); Transfers = xferList; }
public ActionResult Add(int?scaleID, bool incomming = false) { if (scaleID == null) { return(HttpNotFound()); } var scale = EquipmentProvider.GetUserAuthorizedEquipment <WagonScale>(_cdb, User.Identity).Where(s => s.ID == scaleID).SingleOrDefault(); var model = new TransferList(); model.Transfer = new WagonTransfer() { TransferTimeStamp = DateTime.Now, LotName = _cdb.WagonScales.Find(scaleID).Location.ID + "_" + DateTime.Now.ToString("yyMMddHHmmss"), ID = "W" + scaleID + (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds, EquipID = scaleID }; GetDestinationsItemsAndScalesToVeiwBag(); if (!incomming) { ViewBag.FromDestinations = new SelectList(_cdb.Locations .Where(l => l.ID == scale.LocationID) .ToList() , "ID", "LocationName"); } else { ViewBag.FromDestinations = new SelectList(_cdb.Locations.ToList(), "ID", "LocationName"); model.Transfer.ToDest = _cdb.Locations .Where(l => l.ID == scale.LocationID) .Select(m => m.LocationName) .FirstOrDefault(); } model.Incomming = incomming; @ViewBag.Title = "Ввод данных вагонных весов"; return(View("Add", model)); }
public GetAssignTransferDataRes GetAssignTransferHeader(GetAssignTransferDataReq GATDReq) { GetAssignTransferDataRes GATDRes = new GetAssignTransferDataRes(); try { if (GATDReq.UserId == 0) { GATDRes.Status = "Failure"; GATDRes.Message = "Invalid UserId"; return(GATDRes); } query = "Sp_AssignTransfer"; dbcommand = new SqlCommand(query, conn); dbcommand.CommandType = CommandType.StoredProcedure; dbcommand.CommandTimeout = 0; dbcommand.Parameters.AddWithValue("@QueryType", "GetAssignTransferData"); dbcommand.Parameters.AddWithValue("@UserId", GATDReq.UserId); SqlDataAdapter daGetData = new SqlDataAdapter(dbcommand); DataSet dsGetData = new DataSet(); daGetData.Fill(dsGetData); if (Convert.ToString(dsGetData.Tables[0].Rows[0]["value"]) == "0") { List <TransferList> TransferList = new List <TransferList>(); foreach (DataRow row in dsGetData.Tables[0].Rows) { TransferList A = new TransferList(); A.ActivityId = row["ActivityId"].ToString(); A.IsTj = Convert.ToInt16(row["IsTj"]); A.NoOfStillages = row["NoOfStillage"].ToString(); A.SiteId = row["SiteId"].ToString(); A.WareHouseId = row["WareHouseId"].ToString(); A.FromWareHouseId = row["FromWareHouseId"].ToString(); A.TATHID = row["TATHID"].ToString(); TransferList.Add(A); } GATDRes.TransferList = TransferList; GATDRes.Status = "Success"; GATDRes.Message = "Data Send successfully"; } else { GATDRes.Status = "Failure"; GATDRes.Message = "No assignments found"; } } catch (Exception Ex) { GATDRes.Status = "Failure"; GATDRes.Message = Ex.Message; } finally { dbcommand.Connection.Close(); } return(GATDRes); }
public ActionResult _AllTransfers(TransferList model) { model.Transfer.LasEditDateTime = DateTime.Now; model.Transfer.IsValid = false; model.Transfer.Status = 1; model.Transfer.OperatorName = User.Identity.Name; var oldid = model.Transfer.ID; model.Transfer.ID = "W" + model.Transfer.EquipID + (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds; if (Request.Form["One"] != null) { var errorMessages = new List <string>(); var modelbadstate = false; if (oldid == model.Transfer.ID) { errorMessages.Add("Слишком быстро - попробуйте еще раз"); modelbadstate = true; } if (string.IsNullOrEmpty(model.Transfer.SublotName)) { errorMessages.Add("Необходимо указать номер вагона - поле не может быть пустым"); modelbadstate = true; } if (string.IsNullOrEmpty(model.Transfer.LotName)) { errorMessages.Add("Необходимо указать номер партии - поле не может быть пустым"); modelbadstate = true; } if (model.Transfer.Brutto <= 0 || model.Transfer.Brutto > 150) { errorMessages.Add("Нет или неправильно указан вес вагона - должен быть больше 0 и меньше 150"); modelbadstate = true; } if (model.Transfer.Tare <= 0 || model.Transfer.Tare > model.Transfer.Brutto) { errorMessages.Add("Нет или неправильно указан вес тары - должен быть больше нуля и меньше брутто"); modelbadstate = true; } if (modelbadstate) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(new { modelbadstate = modelbadstate, ErrorMessage = string.Join(", ", errorMessages) })); } model.Transfers.Add(model.Transfer); return(PartialView(model)); } if (Request.Form["SaveAll"] != null) { foreach (var mod in model.Transfers) { var vc = new ValidationContext(mod, null, null); var vResults = new List <ValidationResult>(); var isValid = Validator.TryValidateObject(mod, vc, vResults, true); _cdb.WagonTransfers.Add(mod); } string message; _cdb.SaveChanges(); message = "Данные партии зафиксированы"; return(JavaScript("RedirectToIndex('" + message + "');")); } return(View()); }
private void RefreshView() { Dictionary <ulong, OpTransfer> displayMap = new Dictionary <ulong, OpTransfer>(); if (ShowDownloads.Checked) { foreach (OpTransfer download in Service.Transfers.Values.Where(t => t.Status != TransferStatus.Complete)) { displayMap[download.FileID] = download; } } if (ShowUploads.Checked) { foreach (OpTransfer upload in Service.Transfers.Values.Where(t => t.Status == TransferStatus.Complete)) { displayMap[upload.FileID] = upload; } } if (ShowPending.Checked) { foreach (OpTransfer pending in Service.Pending) { displayMap[pending.FileID] = pending; } } if (ShowPartials.Checked) { foreach (OpTransfer partial in Service.Partials) { displayMap[partial.FileID] = partial; } } // remove var remove = (from TransferNode node in TransferList.Nodes where !displayMap.ContainsKey(node.Transfer.FileID) select node).ToList(); foreach (TransferNode node in remove) { TransferMap.Remove(node.Transfer.FileID); TransferList.Nodes.Remove(node); } // add missing var add = from transfer in displayMap.Values where !TransferMap.ContainsKey(transfer.FileID) select transfer; foreach (OpTransfer transfer in add) { TransferNode node = new TransferNode(Service, transfer); TransferMap[transfer.FileID] = node; TransferList.Nodes.Add(node); if (!DefaultCollapse) { node.Expand(); } } foreach (TransferNode transfer in TransferList.Nodes) { transfer.Refresh(); } TransferList.Invalidate(); }
internal CryptoTransferTransactionBody(TransferParams transfers) : this() { if (transfers == null) { throw new ArgumentNullException(nameof(transfers), "The transfer parametes cannot not be null."); } var missingTransfers = true; if (transfers.CryptoTransfers is not null) { long sum = 0; var netRequests = new Dictionary <AddressOrAlias, long>(); foreach (var transfer in transfers.CryptoTransfers) { if (transfer.Value == 0) { throw new ArgumentOutOfRangeException(nameof(transfers.CryptoTransfers), $"The amount to transfer crypto to/from {transfer.Key} must be a value, negative for transfers out, and positive for transfers in. A value of zero is not allowed."); } if (netRequests.TryGetValue(transfer.Key, out long value)) { netRequests[transfer.Key] = value + transfer.Value; } else { netRequests[transfer.Key] = transfer.Value; } sum += transfer.Value; } if (netRequests.Count == 0) { throw new ArgumentOutOfRangeException(nameof(transfers.CryptoTransfers), "The dictionary of crypto transfers can not be empty."); } if (sum != 0) { throw new ArgumentOutOfRangeException(nameof(transfers.CryptoTransfers), "The sum of crypto sends and receives does not balance."); } var xferList = new TransferList(); foreach (var transfer in netRequests) { if (transfer.Value != 0) { xferList.AccountAmounts.Add(new AccountAmount(transfer.Key, transfer.Value)); } } missingTransfers = xferList.AccountAmounts.Count == 0; Transfers = xferList; } if (transfers.TokenTransfers is not null) { foreach (var tokenGroup in transfers.TokenTransfers.GroupBy(txfer => txfer.Token)) { if (tokenGroup.Key.IsNullOrNone()) { throw new ArgumentException("Token", "The list of token transfers cannot contain a null or empty Token value."); } long sum = 0; var netRequests = new Dictionary <AddressOrAlias, long>(); foreach (var xfer in tokenGroup) { if (xfer.Address.IsNullOrNone()) { throw new ArgumentException(nameof(xfer.Address), "The list of token transfers cannot contain a null or empty account value."); } if (xfer.Amount == 0) { throw new ArgumentOutOfRangeException(nameof(xfer.Amount), $"The amount to transfer tokens to/from {xfer.Address} must be a value, negative for transfers out, and positive for transfers in. A value of zero is not allowed."); } if (netRequests.TryGetValue(xfer.Address, out long value)) { netRequests[xfer.Address] = value + xfer.Amount; } else { netRequests[xfer.Address] = xfer.Amount; } sum += xfer.Amount; } if (sum != 0) { throw new ArgumentOutOfRangeException(nameof(transfers.TokenTransfers), $"The sum of token sends and receives for {tokenGroup.Key.ShardNum}.{tokenGroup.Key.RealmNum}.{tokenGroup.Key.AccountNum} does not balance."); } var xferList = new TokenTransferList { Token = new TokenID(tokenGroup.Key) }; foreach (var netTransfer in netRequests) { if (netTransfer.Value != 0) { xferList.Transfers.Add(new AccountAmount(netTransfer.Key, netTransfer.Value)); } } if (xferList.Transfers.Count > 0) { TokenTransfers.Add(xferList); } } } if (transfers.AssetTransfers is not null) { foreach (var tokenGroup in transfers.AssetTransfers.GroupBy(txfer => (Address)txfer.Asset)) { if (tokenGroup.Key.IsNullOrNone()) { throw new ArgumentException("Asset", "The list of asset token transfers cannot contain a null or empty Asset Token address."); } var netRequests = new Dictionary <long, AssetTransfer>(); foreach (var xfer in tokenGroup) { if (xfer.Asset.SerialNum <= 0) { throw new ArgumentException(nameof(xfer.Asset), "The list of asset transfers cannot contain an asset without a serial number."); } if (xfer.From.IsNullOrNone()) { throw new ArgumentException(nameof(xfer.From), "The list of asset transfers cannot contain a null or empty from account value."); } if (xfer.To.IsNullOrNone()) { throw new ArgumentException(nameof(xfer.From), "The list of asset transfers cannot contain a null or empty to account value."); } if (netRequests.ContainsKey(xfer.Asset.SerialNum)) { throw new ArgumentException(nameof(xfer.Asset), "The list of asset transfers cannot contain the same asset in multiple transfers at once."); } else { netRequests[xfer.Asset.SerialNum] = xfer; } } if (netRequests.Count > 0) { var xferList = new TokenTransferList { Token = new TokenID(tokenGroup.Key) }; foreach (var netTransfer in netRequests) { xferList.NftTransfers.Add(new NftTransfer(netTransfer.Value)); } TokenTransfers.Add(xferList); } } } missingTransfers &= TokenTransfers.Count == 0; if (missingTransfers) { throw new ArgumentException(nameof(transfers), "Both crypto, token and asset transfer lists are null or empty. At least one must include net transfers."); } }