public WorkHourDrawing InsertWorkHourDrawing(TicketAutUser ticket, WorkHourDrawing doc) { _logger.Trace("Trace method Insert for document: {0}. User: {1}", typeof(WorkHourDrawing).Name, ticket); var filterDrawing = Builders <BsonDocument> .Filter.Eq("DrawingId", doc.DrawingId); var filtetTechOper = Builders <BsonDocument> .Filter.Eq("TechOperationId", doc.TechOperationId); var filter = Builders <BsonDocument> .Filter.And(filterDrawing, filtetTechOper); _dataManagers.Delete(doc.GetType(), filter); if (doc.WorkHour > 0) { _dataManagers.Insert(doc, ticket); } else { doc.Id = null; } return(doc); }