public Error InsertOrUpdateProductIP(ProductModel product, ProductIPListModel productIPs, string lgs) { var error = new Error(); var currentIPs = db.FindProductIPs(product.Id).ToList(); // First, handles items which are new or existing/selected foreach (var item in productIPs.Items.Where(pi => pi.Selected == true)) { var temp = currentIPs.Where(ip => ip.MarketId == item.MarketId).FirstOrDefault(); if (temp == null) { // Not found in current IPs so has been added var productIp = new ProductIP { ProductId = product.Id, MarketId = item.MarketId }; db.InsertOrUpdateProductIP(productIp); } else { // Was found, so remove from list currentIPs.Remove(temp); } } // Now handle items remaining in the db as these are surplus db.DeleteProductIPs(currentIPs); return(error); }
public ProductIPModel MapToModel(ProductIP item) { return(Mapper.Map <ProductIP, ProductIPModel>(item)); }