public static MileageRate CreateMileageRate(string dataAreaId, string expenseCategory, global::System.DateTimeOffset fromDate, decimal quantity, string vehicleType, decimal rate, global::System.DateTimeOffset toDate) { MileageRate mileageRate = new MileageRate(); mileageRate.dataAreaId = dataAreaId; mileageRate.ExpenseCategory = expenseCategory; mileageRate.FromDate = fromDate; mileageRate.Quantity = quantity; mileageRate.VehicleType = vehicleType; mileageRate.Rate = rate; mileageRate.ToDate = toDate; return(mileageRate); }
private static void WalkItemOtherChargeRet(XmlNode ItemOtherChargeRet) { if (ItemOtherChargeRet == null) return; MileageRate mr = null; RotoTrackDb db = new RotoTrackDb(); string ListID = ItemOtherChargeRet.SelectSingleNode("./ListID").InnerText; string Name = ItemOtherChargeRet.SelectSingleNode("./FullName").InnerText; if (Name.StartsWith("MILE")) { if (db.MileageRates.Any(f => f.QBListId == ListID)) { mr = db.MileageRates.First(f => f.QBListId == ListID); } else { mr = new MileageRate(); db.MileageRates.Add(mr); } mr.QBListId = ListID; mr.Name = Name; string IsActive = "false"; if (ItemOtherChargeRet.SelectSingleNode("./IsActive") != null) { IsActive = ItemOtherChargeRet.SelectSingleNode("./IsActive").InnerText; } mr.IsActive = (IsActive == "true") ? true : false; XmlNodeList ORSalesPurchaseChildren = ItemOtherChargeRet.SelectNodes("./*"); for (int i = 0; i < ORSalesPurchaseChildren.Count; i++) { XmlNode Child = ORSalesPurchaseChildren.Item(i); if (Child.Name == "SalesAndPurchase") { if (Child.SelectSingleNode("./SalesDesc") != null) { string SalesDesc = Child.SelectSingleNode("./SalesDesc").InnerText; mr.Description = SalesDesc; } if (Child.SelectSingleNode("./SalesPrice") != null) { string SalesPrice = Child.SelectSingleNode("./SalesPrice").InnerText; try { mr.Rate = Convert.ToDecimal(SalesPrice); } catch (Exception) { mr.Rate = 0; } } } } if (mr != null) { db.SaveChanges(); } } }
public static XmlDocument BuildAddRq(ServiceEntry se, ServiceDetail sd) { try { XmlDocument doc = XmlUtils.MakeRequestDocument(); XmlElement parent = XmlUtils.MakeRequestParentElement(doc); RotoTrackDb db = new RotoTrackDb(); UserProfile u = db.UserProfiles.Find(sd.TechnicianId); Vehicle v = db.Vehicles.Find(sd.VehicleId); DSR dsr = db.DSRs.Include("WorkOrder").First(f => f.Id == se.DSRId); Customer c = db.Customers.Find(dsr.WorkOrder.CustomerId); MileageRate mr = db.MileageRates.Find(sd.MileageRateId); Area a = db.Areas.Find(u.AreaId); XmlElement Rq = doc.CreateElement("VehicleMileageAddRq"); parent.AppendChild(Rq); XmlElement RqType = doc.CreateElement("VehicleMileageAdd"); Rq.AppendChild(RqType); XmlElement VehicleRef = doc.CreateElement("VehicleRef"); RqType.AppendChild(VehicleRef); VehicleRef.AppendChild(XmlUtils.MakeSimpleElem(doc, "ListID", v.QBListId)); XmlElement CustomerRef = doc.CreateElement("CustomerRef"); RqType.AppendChild(CustomerRef); CustomerRef.AppendChild(XmlUtils.MakeSimpleElem(doc, "ListID", dsr.WorkOrder.QBListId)); XmlElement ItemRef = doc.CreateElement("ItemRef"); RqType.AppendChild(ItemRef); ItemRef.AppendChild(XmlUtils.MakeSimpleElem(doc, "ListID", mr.QBListId)); XmlElement ClassRef = doc.CreateElement("ClassRef"); RqType.AppendChild(ClassRef); ClassRef.AppendChild(XmlUtils.MakeSimpleElem(doc, "ListID", a.QBListId)); RqType.AppendChild(XmlUtils.MakeSimpleElem(doc, "TripStartDate", se.DateWorked.ToString("yyyy-MM-dd"))); RqType.AppendChild(XmlUtils.MakeSimpleElem(doc, "TripEndDate", se.DateWorked.ToString("yyyy-MM-dd"))); RqType.AppendChild(XmlUtils.MakeSimpleElem(doc, "TotalMiles", se.Mileage.ToString())); string fullName = ""; if (!string.IsNullOrEmpty(u.FirstName)) { fullName += u.FirstName; } if (!string.IsNullOrEmpty(u.LastName)) { fullName += (" " + u.LastName); } fullName += " guid="; fullName += se.GUID; RqType.AppendChild(XmlUtils.MakeSimpleElem(doc, "Notes", fullName)); RqType.AppendChild(XmlUtils.MakeSimpleElem(doc, "BillableStatus", "Billable")); return(doc); } catch (Exception e) { string evLogTxt = ""; evLogTxt = "Error building vehicle mileage add request! " + e.Message + "\r\n"; Logging.RototrackErrorLog("QBMigrationTool: " + RototrackConfig.GetBuildType() + ": " + evLogTxt); return(null); } }