public static WorkOrder GetWorkOrder(int buildingId) { GarrisonBase.Debug("LuaCommand: GetWorkOrder {0}", buildingId); List <string> workorderinfo = Lua.GetReturnValues(String.Format("return C_Garrison.GetLandingPageShipmentInfo(\"{0}\")", buildingId)); if (workorderinfo.Count < 2) { return(null); } BuildingType buildingType = Building.GetBuildingTypeUsingId(buildingId); WorkOrderType workorderType = WorkOrder.GetWorkorderType(buildingType); int MaxOrders = workorderinfo[2].ToInt32(); Tuple <CraftingReagents, int>[] price = WorkOrder.GetWorkOrderItemAndQuanityRequired(workorderType); int PendingOrders = 0; int PickupOrders = 0; if (workorderinfo.Count > 3) { PickupOrders = workorderinfo[3].ToInt32(); PendingOrders = workorderinfo[4].ToInt32(); } if (price == null) { PendingOrders = 0; PickupOrders = 0; MaxOrders = 0; price = new[] { new Tuple <CraftingReagents, int>(CraftingReagents.None, 9999) }; } return(new WorkOrder(buildingId, buildingType, workorderType, MaxOrders, price, PendingOrders, PickupOrders)); }
/// <summary cref="IEncodeable.IsEqual(IEncodeable)" /> public virtual bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return(true); } WorkOrderType value = encodeable as WorkOrderType; if (value == null) { return(false); } if (!Utils.IsEqual(m_iD, value.m_iD)) { return(false); } if (!Utils.IsEqual(m_assetID, value.m_assetID)) { return(false); } if (!Utils.IsEqual(m_startTime, value.m_startTime)) { return(false); } if (!Utils.IsEqual(m_statusComments, value.m_statusComments)) { return(false); } return(true); }
public WorkOrderForEditDto() { WorkOrderType = new WorkOrderType(); AssignedTo = new UserFullNameDto(); RequestFor = new TenantForWorkOrderDto(); SubmittedBy = new UserFullNameDto(); Status = new WorkOrderStatusCode(); WorkOrderNotes = new List <WorkOrderNoteDto>(); }
/// <summary cref="Object.MemberwiseClone" /> public new object MemberwiseClone() { WorkOrderType clone = (WorkOrderType)base.MemberwiseClone(); clone.m_iD = (Uuid)Utils.Clone(this.m_iD); clone.m_assetID = (string)Utils.Clone(this.m_assetID); clone.m_startTime = (DateTime)Utils.Clone(this.m_startTime); clone.m_statusComments = (WorkOrderStatusTypeCollection)Utils.Clone(this.m_statusComments); return(clone); }
public WorkOrder(int buildingId, BuildingType buildingType, WorkOrderType workorderType, int max, Tuple <CraftingReagents, int>[] currency, int pending = 0, int pickup = 0) { BuildingId = buildingId; BuildingType = buildingType; Type = workorderType; Maximum = max; Currency = currency; Pending = pending; Pickup = pickup; RushOrderItemType = GetRushOrderItem(Type); }
public static RushOrders GetRushOrderItem(WorkOrderType type) { switch (type) { case WorkOrderType.Enchanting: return(RushOrders.EnchantersStudy); case WorkOrderType.Inscription: return(RushOrders.Scribe); case WorkOrderType.Mining: return(RushOrders.Mines); case WorkOrderType.Herbalism: return(RushOrders.HerbGarden); case WorkOrderType.Blacksmith: return(RushOrders.Forge); //case WorkOrderType.Lumbermill: // return //case WorkOrderType.Tradepost: // break; case WorkOrderType.Alchemy: return(RushOrders.AlchemyLab); case WorkOrderType.Engineering: return(RushOrders.Engineering); case WorkOrderType.Jewelcrafting: return(RushOrders.Gem); case WorkOrderType.Tailoring: return(RushOrders.Tailoring); case WorkOrderType.Leatherworking: return(RushOrders.Tannery); case WorkOrderType.WarMillDwarvenBunker: return(RushOrders.WarMill); case WorkOrderType.DwarvenBunker: break; case WorkOrderType.Barn: return(RushOrders.Barn); } return(RushOrders.None); }
private static XmlDocument BuildAddOrModRq(WorkOrder wo) { RotoTrackDb db = new RotoTrackDb(); XmlDocument doc = XmlUtils.MakeRequestDocument(); XmlElement parent = XmlUtils.MakeRequestParentElement(doc); BillingInstruction bi = db.BillingInstructions.Find(wo.BillingInstructionsId); Area area = db.Areas.Find(wo.AreaId); Customer customer = db.Customers.Find(wo.CustomerId); WorkOrderType wot = db.WorkOrderTypes.Find(wo.WorkOrderTypeId); Contact contact = db.Contacts.Find(wo.ContactId); Site site = db.Sites.Find(wo.SiteId); JobType jt = db.JobTypes.Find(wo.JobTypeId); XmlElement CustomerAddOrModRq = null; XmlElement CustomerAddOrMod = null; if (wo.QBListId == null) { CustomerAddOrModRq = doc.CreateElement("CustomerAddRq"); parent.AppendChild(CustomerAddOrModRq); CustomerAddOrMod = doc.CreateElement("CustomerAdd"); CustomerAddOrModRq.AppendChild(CustomerAddOrMod); } else { CustomerAddOrModRq = doc.CreateElement("CustomerModRq"); parent.AppendChild(CustomerAddOrModRq); CustomerAddOrMod = doc.CreateElement("CustomerMod"); CustomerAddOrModRq.AppendChild(CustomerAddOrMod); CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "ListID", wo.QBListId)); CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "EditSequence", wo.QBEditSequence)); } CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "Name", wo.WorkOrderNumber)); string isActive = (wo.statusValue != (int)WorkOrderStatus.Inactive) ? "1" : "0"; CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "IsActive", isActive)); XmlElement ParentRef = doc.CreateElement("ParentRef"); CustomerAddOrMod.AppendChild(ParentRef); ParentRef.AppendChild(XmlUtils.MakeSimpleElem(doc, "ListID", customer.QBListId)); CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "CompanyName", customer.CompanyName)); if (contact != null) { string[] namePieces = contact.Name.Split(' '); string firstName; string lastName; string middleName; if (namePieces.Count() == 2) { firstName = namePieces[0]; lastName = namePieces[1]; if (firstName.Length > 15) { firstName = firstName.Substring(0, 15); } if (lastName.Length > 18) { lastName = lastName.Substring(0, 18); } contact.Name = firstName + " " + lastName; CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "FirstName", firstName)); CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "LastName", lastName)); } else if (namePieces.Count() == 3) { firstName = namePieces[0]; middleName = namePieces[1]; lastName = namePieces[2]; if (firstName.Length > 15) { firstName = firstName.Substring(0, 15); } if (middleName.Length > 5) { middleName = middleName.Substring(0, 5); } if (lastName.Length > 18) { lastName = lastName.Substring(0, 18); } contact.Name = firstName + " " + middleName + " " + lastName; CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "FirstName", firstName)); CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "MiddleName", middleName)); CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "LastName", lastName)); } else if (namePieces.Count() == 1) { firstName = namePieces[0]; if (firstName.Length > 15) { firstName = firstName.Substring(0, 15); } contact.Name = firstName; CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "FirstName", firstName)); } } XmlElement BillAddress = doc.CreateElement("BillAddress"); CustomerAddOrMod.AppendChild(BillAddress); BillAddress.AppendChild(XmlUtils.MakeSimpleElem(doc, "Addr1", customer.Address.Address1)); BillAddress.AppendChild(XmlUtils.MakeSimpleElem(doc, "Addr2", customer.Address.Address2)); BillAddress.AppendChild(XmlUtils.MakeSimpleElem(doc, "Addr3", customer.Address.Address3)); BillAddress.AppendChild(XmlUtils.MakeSimpleElem(doc, "Addr4", customer.Address.Address4)); BillAddress.AppendChild(XmlUtils.MakeSimpleElem(doc, "Addr5", customer.Address.Address5)); BillAddress.AppendChild(XmlUtils.MakeSimpleElem(doc, "City", customer.Address.City)); BillAddress.AppendChild(XmlUtils.MakeSimpleElem(doc, "State", customer.Address.State)); BillAddress.AppendChild(XmlUtils.MakeSimpleElem(doc, "PostalCode", customer.Address.Zip)); if (contact != null) { if (contact.Name.Length > 40) { contact.Name = contact.Name.Substring(0, 40); } CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "Contact", contact.Name)); if (contact.Phone != null && contact.Phone != "") { XmlElement AdditionalContactRef1 = doc.CreateElement("AdditionalContactRef"); CustomerAddOrMod.AppendChild(AdditionalContactRef1); AdditionalContactRef1.AppendChild(XmlUtils.MakeSimpleElem(doc, "ContactName", "Main Phone")); AdditionalContactRef1.AppendChild(XmlUtils.MakeSimpleElem(doc, "ContactValue", contact.Phone)); } if (contact.Email != null && contact.Email != "") { XmlElement AdditionalContactRef2 = doc.CreateElement("AdditionalContactRef"); CustomerAddOrMod.AppendChild(AdditionalContactRef2); AdditionalContactRef2.AppendChild(XmlUtils.MakeSimpleElem(doc, "ContactName", "Main Email")); AdditionalContactRef2.AppendChild(XmlUtils.MakeSimpleElem(doc, "ContactValue", contact.Email)); } } XmlElement CustomerTypeRef = doc.CreateElement("CustomerTypeRef"); CustomerAddOrMod.AppendChild(CustomerTypeRef); CustomerTypeRef.AppendChild(XmlUtils.MakeSimpleElem(doc, "ListID", bi.QBListId)); switch (wo.JobStatus) { case JobStatus.Awarded: CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "JobStatus", "Awarded")); break; case JobStatus.Complete: CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "JobStatus", "Closed")); break; case JobStatus.InProgress: CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "JobStatus", "InProgress")); break; case JobStatus.NotApplicable: CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "JobStatus", "None")); break; case JobStatus.NotAwarded: CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "JobStatus", "NotAwarded")); break; case JobStatus.Pending: CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "JobStatus", "Pending")); break; default: break; } CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "JobStartDate", wo.EstStartDate.ToString("yyyy-MM-dd"))); CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "JobProjectedEndDate", wo.EstEndDate.ToString("yyyy-MM-dd"))); if (wo.ActualEndDate != DateTime.Parse("1900-01-01 00:00:00.000")) { CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "JobEndDate", wo.ActualEndDate.ToString("yyyy-MM-dd"))); } if (wo.JobDescription != null) { CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "JobDesc", wo.JobDescription)); } if (jt != null) { XmlElement JobTypeRef = doc.CreateElement("JobTypeRef"); CustomerAddOrMod.AppendChild(JobTypeRef); JobTypeRef.AppendChild(XmlUtils.MakeSimpleElem(doc, "ListID", jt.QBListId)); } if (wo.BillingNotes != null) { CustomerAddOrMod.AppendChild(XmlUtils.MakeSimpleElem(doc, "Notes", wo.BillingNotes)); } return(doc); }
public static Tuple <CraftingReagents, int>[] GetWorkOrderItemAndQuanityRequired(WorkOrderType type) { switch (type) { case WorkOrderType.Enchanting: return(new[] { new Tuple <CraftingReagents, int>(CraftingReagents.DraenicDust, 5) }); case WorkOrderType.Inscription: return(new[] { new Tuple <CraftingReagents, int>(CraftingReagents.CeruleanPigment, 2) }); case WorkOrderType.Mining: return(new[] { new Tuple <CraftingReagents, int>(CraftingReagents.DraenicStone, 5) }); case WorkOrderType.Herbalism: return(new[] { new Tuple <CraftingReagents, int>(CraftingReagents.DraenicSeeds, 5) }); case WorkOrderType.Blacksmith: return(new[] { new Tuple <CraftingReagents, int>(CraftingReagents.TrueIronOre, 5) }); case WorkOrderType.Lumbermill: return(new[] { new Tuple <CraftingReagents, int>(CraftingReagents.Timber, 10) }); case WorkOrderType.Tradepost: break; case WorkOrderType.Alchemy: return(new[] { new Tuple <CraftingReagents, int>(CraftingReagents.Frostweed, 5) }); case WorkOrderType.Engineering: return(new[] { new Tuple <CraftingReagents, int>(CraftingReagents.TrueIronOre, 2), new Tuple <CraftingReagents, int>(CraftingReagents.BlackrockOre, 2) }); case WorkOrderType.Jewelcrafting: return(new[] { new Tuple <CraftingReagents, int>(CraftingReagents.BlackrockOre, 5) }); case WorkOrderType.Tailoring: return(new[] { new Tuple <CraftingReagents, int>(CraftingReagents.SumptuousFur, 5) }); case WorkOrderType.Leatherworking: return(new[] { new Tuple <CraftingReagents, int>(CraftingReagents.RawBeastHide, 5) }); case WorkOrderType.Barn: return(new[] { new Tuple <CraftingReagents, int>(CraftingReagents.FurryCagedBeast, 1) }); } return(null); }