public void Update(ExchangeLeaveMessage message) { if (_account.State != Enums.AccountStates.EXCHANGE) { return; } Objects.Clear(); RemoteObjects.Clear(); Kamas = RemoteKamas = 0; CurrentWeight = MaxWeight = RemoteCurrentWeight = RemoteMaxWeight = 0; _step = 0; _account.State = Enums.AccountStates.NONE; ExchangeLeft?.Invoke(); }
public void Update(ExchangeObjectAddedMessage message) { var newObj = new ObjectEntry(message.Object); if (message.Remote) { RemoteObjects.Add(newObj); RemoteCurrentWeight += (uint)newObj.RealWeight * newObj.Quantity; } else { Objects.Add(newObj); CurrentWeight += (uint)newObj.RealWeight * newObj.Quantity; } _step++; ExchangeContentChanged?.Invoke(); }
public void Update(ExchangeObjectRemovedMessage message) { var removedObj = message.Remote ? RemoteObjects.FirstOrDefault(o => o.UID == message.ObjectUID) : Objects.FirstOrDefault(o => o.UID == message.ObjectUID); if (message.Remote) { RemoteCurrentWeight += (uint)(removedObj.Quantity * removedObj.RealWeight); RemoteObjects.Remove(removedObj); } else { CurrentWeight += (uint)(removedObj.Quantity * removedObj.RealWeight); Objects.Remove(removedObj); } _step++; ExchangeContentChanged?.Invoke(); }
public void Update(ExchangeObjectModifiedMessage message) { var modifiedObj = message.Remote ? RemoteObjects.FirstOrDefault(o => o.UID == message.Object.ObjectUID) : Objects.FirstOrDefault(o => o.UID == message.Object.ObjectUID); int qtyDiff = (int)message.Object.Quantity - (int)modifiedObj.Quantity; modifiedObj.Update(message.Object); if (message.Remote) { RemoteCurrentWeight += (uint)(qtyDiff * modifiedObj.RealWeight); } else { CurrentWeight += (uint)(qtyDiff * modifiedObj.RealWeight); } _step++; ExchangeContentChanged?.Invoke(); }
// TODO: Break out some of this static method into sub methods. public static PersonModel Convert(RemoteObjects.People.person person) { // RULE: For string type NO nulls empty string instead. if (person == null) throw new ArgumentNullException("Cannot convert a Null person to a PersonModel."); PersonModel personModel = new PersonModel(); personModel.ID = person.id ?? ""; personModel.HouseholdID = person.householdID ?? ""; personModel.Name = new Name(person.firstName ?? "", "", person.lastName ?? "", person.prefix ?? ""); Gender gender; if (!Enum.TryParse(person.gender.ToString(), true, out gender)) gender = Gender.Unknown; personModel.Gender = gender; personModel.MaritalStatus = ""; if (person.maritalStatus != null) personModel.MaritalStatus = person.maritalStatus.ToString(); personModel.DateOfBirth = DateTime.MinValue; if (person.dateOfBirth != null) { Match match = Regex.Match(person.dateOfBirth, @"(?<Date>\d{4}-\d{2}-\d{2})T\d{2}:\d{2}:\d{2}"); if (match.Success) { personModel.DateOfBirth = DateTime.Parse(match.Groups["Date"].Value); } } personModel.HouseholdMemberTypeName = ""; if (person.householdMemberType != null && person.householdMemberType.name != null) personModel.HouseholdMemberTypeName = person.householdMemberType.name.ToString(); personModel.StatusName = ""; if (person.status != null && person.status.name != null) personModel.StatusName = person.status.name; return personModel; }
public static CommunicationModel Convert(RemoteObjects.Communications.communication communication) { // RULE: For string type NO nulls empty string instead. if (communication == null) throw new ArgumentNullException("Cannot convert a Null communication to a CommunicationModel."); CommunicationModel communicationModel = new CommunicationModel(); communicationModel.CommunicationID = communication.id ?? ""; communicationModel.PersonID = communication.person.id ?? ""; communicationModel.HouseholdID = communication.household.id ?? ""; communicationModel.CommunicationURI = communication.uri ?? ""; communicationModel.PersonURI = communication.person.uri ?? ""; communicationModel.HouseholdURI = communication.household.uri ?? ""; communicationModel.CommunicationTypeID = ""; if (communication.communicationType != null && communication.communicationType.id != null) communicationModel.CommunicationTypeID = communication.communicationType.id; // Nasty work around to a weird XSD object creation issue. communicationModel.CommunicationType = ""; XmlNode[] communicationTypeNodes = null; if (communication.communicationType != null && communication.communicationType.name != null) { communicationTypeNodes = communication.communicationType.name as XmlNode[]; if (communicationTypeNodes != null && communicationTypeNodes.Length > 0) communicationModel.CommunicationType = communicationTypeNodes[0].Value ?? ""; } communicationModel.CommunicationTypeURI = ""; if (communication.communicationType != null && communication.communicationType.uri != null) communicationModel.CommunicationTypeURI = communication.communicationType.uri; communicationModel.CommunicationGeneralType = communication.communicationGeneralType.ToString() ?? ""; communicationModel.CommunicationValue = communication.communicationValue ?? ""; communicationModel.SearchCommunicationValue = communication.searchCommunicationValue ?? ""; communicationModel.Listed = communication.listed.ToString(); communicationModel.CommunicationComment = communication.communicationComment ?? ""; communicationModel.CreatedDate = communication.createdDate ?? ""; communicationModel.LastUpdatedDate = communication.lastUpdatedDate ?? ""; return communicationModel; }
public static AddressModel Convert(RemoteObjects.Addresses.address address) { // RULE: For string type NO nulls empty string instead. if (address == null) throw new ArgumentNullException("Cannot convert a Null address to a AddressModel."); AddressModel addressModel = new AddressModel(); addressModel.AddressID = address.id ?? ""; addressModel.AddressURI = address.uri ?? ""; addressModel.PersonID = address.person.id ?? ""; addressModel.PersonURI = address.person.uri ?? ""; addressModel.HouseholdID = address.household.id ?? ""; addressModel.HouseholdURI = address.household.uri ?? ""; addressModel.AddressTypeID = address.addressType.id ?? ""; addressModel.AddressTypeURI = address.addressType.uri ?? ""; // Nasty work around to a weird XSD object creation issue. addressModel.AddressType = ""; XmlNode[] addressTypeNodes = null; if (address.addressType != null && address.addressType.name != null) { addressTypeNodes = address.addressType.name as XmlNode[]; if (addressTypeNodes != null && addressTypeNodes.Length > 0) addressModel.AddressType = addressTypeNodes[0].Value ?? ""; } addressModel.Address1 = address.address1 ?? ""; addressModel.Address2 = address.address2 ?? ""; addressModel.Address3 = address.address3 ?? ""; addressModel.City = address.city ?? ""; addressModel.PostalCode = address.postalCode ?? ""; addressModel.County = address.county ?? ""; addressModel.Country = address.country ?? ""; addressModel.StateProvince = address.stProvince ?? ""; addressModel.CarrierRoute = address.carrierRoute ?? ""; addressModel.DeliveryPoint = address.deliveryPoint ?? ""; addressModel.AddressDate = address.addressDate ?? ""; addressModel.AddressComment = address.addressComment ?? ""; addressModel.UspsVerified = address.uspsVerified ?? ""; addressModel.AddressVerifiedDate = address.addressVerifiedDate ?? ""; addressModel.LastVerificationAttemptDate = address.lastVerificationAttemptDate ?? ""; addressModel.CreatedDate = address.createdDate ?? ""; addressModel.LastUpdatedDate = address.lastUpdatedDate ?? ""; return addressModel; }