public Deal DeleteDeal(int id) { if (id <= 0) { return(null); } var deal = GetByID(id); if (deal == null) { return(null); } _crmSecurity.DemandDelete(deal); var dbEntity = CrmDbContext.Deals.Find(id); _factoryIndexer.Delete(dbEntity); // Delete relative keys _cache.Remove(new Regex(TenantID.ToString(CultureInfo.InvariantCulture) + "deals.*")); DeleteBatchDealsExecute(new List <Deal>() { deal }); return(deal); }
public Invoice DeleteInvoice(int invoiceID) { if (invoiceID <= 0) { return(null); } var invoice = GetByID(invoiceID); if (invoice == null) { return(null); } _crmSecurity.DemandDelete(invoice); // Delete relative keys _cache.Remove(new Regex(TenantID.ToString(CultureInfo.InvariantCulture) + "invoice.*")); DeleteBatchInvoicesExecute(new List <Invoice> { invoice }); return(invoice); }
public List <int> RemoveFile(File <int> file) { _crmSecurity.DemandDelete(file); List <int> eventIDs; var tagdao = _filesIntegration.DaoFactory.GetTagDao <int>(); var tags = tagdao.GetTags(file.ID, FileEntryType.File, TagType.System).ToList().FindAll(tag => tag.TagName.StartsWith("RelationshipEvent_")); eventIDs = tags.Select(item => Convert.ToInt32(item.TagName.Split(new[] { '_' })[1])).ToList(); var dao = _filesIntegration.DaoFactory.GetFileDao <int>(); dao.DeleteFile(file.ID); foreach (var eventID in eventIDs) { if (GetFiles(eventID).Count == 0) { var dbEntity = CrmDbContext.RelationshipEvent.Find(eventID); if (dbEntity.TenantId != TenantID) { continue; } dbEntity.HaveFiles = false; CrmDbContext.SaveChanges(); } } var itemToUpdate = Query(CrmDbContext.Invoices).FirstOrDefault(x => x.FileId == Convert.ToInt32(file.ID)); itemToUpdate.FileId = 0; CrmDbContext.SaveChanges(); return(eventIDs); }
public Cases DeleteCases(int casesID) { if (casesID <= 0) { return(null); } var cases = GetByID(casesID); if (cases == null) { return(null); } _crmSecurity.DemandDelete(cases); // Delete relative keys _cache.Remove(new Regex(TenantID.ToString(CultureInfo.InvariantCulture) + "invoice.*")); DeleteBatchCases(new[] { casesID }); return(cases); }