private int UpdateVendorStatuses(string stockStatus) { if (string.IsNullOrEmpty(stockStatus)) { return(-1); } var vProductStatus = (from vs in _vProductStatus where (vs.VendorID == _vendor.VendorID || _vendor.ParentVendorID.HasValue && vs.VendorID == _vendor.ParentVendorID) && vs.VendorStatus == stockStatus.ToUpper() select vs).ToList(); if (vProductStatus.Count < 1) { var svProductStatus = new VendorProductStatus() { VendorID = _vendor.VendorID, VendorStatus = stockStatus, //ProductStatus = ProductStatus.NeedsMatch, ConcentratorStatusID = -1 }; _unit.Scope.Repository <VendorProductStatus>().Add(svProductStatus); _unit.Save(); _vProductStatus.Add(svProductStatus); return(svProductStatus.ConcentratorStatusID); } if (vProductStatus.Count == 1) { return(vProductStatus.FirstOrDefault().ConcentratorStatusID); } return(vProductStatus.Where(x => x.VendorID == _vendor.VendorID || _vendor.ParentVendorID.HasValue && x.VendorID == _vendor.ParentVendorID).OrderByDescending(x => x.ConcentratorStatusID).FirstOrDefault().ConcentratorStatusID); }
public int SyncVendorStatus(string status, int defaultStatus) { //if (string.IsNullOrEmpty(status)) return defaultStatus; var prStatus = Statuses.FirstOrDefault(c => c.VendorStatus == status); if (prStatus == null) { prStatus = new VendorProductStatus { VendorID = VendorID, VendorStatus = status, //ProductStatus = ProductStatus.NeedsMatch, ConcentratorStatusID = -1 //, //VendorStatusID = vendorStatusID }; Table.Add(prStatus); Statuses.Add(prStatus); } return(prStatus.ConcentratorStatusID); }