public FantomModel UpdateFantom(FantomModel item, UserModel user) { if (item == null || item.UID == Guid.Empty) { throw new ArgumentNullException("Не могу обновить запись.\r\nИдентификатор записи не был получен"); } if (item.Sum < 0.01m) { throw new NotSupportedException("Сумма должна быть больше 0.01"); } item.Comment = item.Comment.ToStringTrim(); if (!String.IsNullOrWhiteSpace(item.Comment) && item.Comment.Length > 100) { throw new NotSupportedException("Длина комментария не должна превышать 100 символов"); } CheckDate(item.PeriodDate); Util.DoActionTransaction <T>(p => { var dbitem = p.Pays.SingleOrDefault(z => z.UID == item.UID); if (dbitem == null) { throw new ArgumentNullException("Не могу обновить запись.\r\nЗапись отсутствует"); } dbitem.Supplier = AddNewSupplier(item.SupplierName, p).UID; dbitem.Commеnt = item.Comment; dbitem.Currency = (int)item.Currency; dbitem.EventDate = DateTime.Now; dbitem.PeriodDate = item.PeriodDate; dbitem.Action = (int)item.TypeAccount; dbitem.Sum = item.Sum; dbitem.UserID = user.ID; }); return(item); }
public FantomModel DeleteFantom(FantomModel item) { if (item == null || item.UID == Guid.Empty) { throw new ArgumentNullException("Не могу удалить запись.\r\nИдентификатор записи не был получен"); } Util.DoActionTransaction <T>(p => { var dbitem = p.Pays.SingleOrDefault(z => z.UID == item.UID); if (dbitem == null) { throw new ArgumentNullException("Не могу удалить запись.\r\nЗапись отсутствует"); } //TODO крайне не рекомендуемое действие, заказчик пожелал именно удалить p.Pays.DeleteObject(dbitem); }); return(item); }
public FantomModel CreateFantom(CreateFantomModel item, UserModel user) { if (item == null) { throw new ArgumentNullException("Не могу создать запись.\r\nЗапись не была получена"); } if (item.Sum < 0.01m) { throw new NotSupportedException("Сумма должна быть больше 0.01"); } if (String.IsNullOrWhiteSpace(item.SupplierName)) { throw new NotSupportedException("Поставщик не был получен"); } item.SupplierName = item.SupplierName.ToStringTrim(); item.Comment = item.Comment.ToStringTrim(); if (!String.IsNullOrWhiteSpace(item.Comment) && item.Comment.Length > 100) { throw new NotSupportedException("Длина комментария не должна превышать 100 символов"); } CheckDate(item.PeriodDate); var newitem = new FantomModel(item); Util.DoActionTransaction <T>(p => { var dbitem = new Pay { UID = newitem.UID, EventDate = newitem.EventDate }; dbitem.Supplier = AddNewSupplier(item.SupplierName, p).UID; dbitem.Commеnt = item.Comment; dbitem.Currency = (int)item.Currency; dbitem.EventDate = DateTime.Now; dbitem.PeriodDate = item.PeriodDate; dbitem.Action = (int)item.TypeAccount; dbitem.Sum = item.Sum; dbitem.UserID = user.ID; p.Pays.AddObject(dbitem); }); return(newitem); }
FantomModel IFantomService.UpdateFantom(ApplicationVersion applicationVersion, FantomModel item) { return(RunSecurity(applicationVersion, (user) => { CheckRightsFantom(user); return _RepositoryFantom.UpdateFantom(item, user); })); }