public virtual async Task <T> UpdateAsync(T item) { if (item == null) { throw new ArgumentNullException("item"); } //item.Datestamp = DateTime.Now; //_dbContext.Set(item.GetType()).Attach(item); _dbContext.Entry(item).State = EntityState.Modified; if (UpdatingRecord != null) { UpdatingRecord.Invoke(this, new EntitySavingEventArgs <T>() { SavedEntity = item }); } await _dbContext.SaveChangesAsync(); if (RecordUpdated != null) { RecordUpdated.Invoke(this, new EntitySavingEventArgs <T>() { SavedEntity = item }); } return(item); }
public virtual void Update(T item) { if (item == null) { throw new ArgumentNullException("item"); } _dbContext.Entry(item).State = EntityState.Modified; if (UpdatingRecord != null) { UpdatingRecord.Invoke(this, new EntitySavingEventArgs <T>() { SavedEntity = item }); } _dbContext.SaveChanges(); if (RecordUpdated != null) { RecordUpdated.Invoke(this, new EntitySavingEventArgs <T>() { SavedEntity = item }); } }
internal UpdatingRecord GetUpdatingRecord() { UpdatingRecord record = new UpdatingRecord() { fields = new Dictionary <string, object>() }; if (Lead.Source != null) { record.fields.Add("Источник", Lead.Source); } if (Lead.SOURCE_DESCRIPTION != null) { record.fields.Add("Точка контакта", Lead.SOURCE_DESCRIPTION); } if (Lead.DATE_CREATE.HasValue && Lead.DATE_CREATE.Value != DateTime.MinValue) { record.fields.Add("Дата обращения", Lead.DATE_CREATE.Value.ToString("yyyy-MM-dd")); } if (Lead.COMMENTS != null) { record.fields.Add("Основная информация", Regex.Replace(Lead.COMMENTS, "<[^>]+>| ", " ")); } if (!string.IsNullOrEmpty(Lead.AirTableClientString)) { record.fields.Add("Клиент", Lead.AirTableClientString); } if (Lead.URL != null) { record.fields.Add("Клиент - Bitrix24", Lead.URL); } if (Lead.PeopleCount != -1) { record.fields.Add("Кол-во человек", Lead.PeopleCount); } if (Lead.CheckIn.HasValue && Lead.CheckIn.Value != DateTime.MinValue) { record.fields.Add("Заезд", Lead.CheckIn.Value.ToString("yyyy-MM-dd")); } if (Lead.LivingDaysCount != -1) { record.fields.Add("Срок заселения / дней", Lead.LivingDaysCount); } if (Lead.City != null) { record.fields.Add("Город", Lead.City); } if (Lead.ClientType != null) { record.fields.Add("Тип клиента", Lead.ClientType); } if (Lead.TypeName != null) { record.fields.Add("Тип Лида/Сделки", Lead.TypeName); } if (Lead.TimeLine != null && Lead.TimeLine.LastComment != null) { record.fields.Add("Комментарий по результату", Lead.TimeLine.LastComment); } return(record); }