コード例 #1
0
 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);
 }
コード例 #2
0
 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);
 }
コード例 #3
0
        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);
        }
コード例 #4
0
 FantomModel IFantomService.UpdateFantom(ApplicationVersion applicationVersion, FantomModel item)
 {
     return(RunSecurity(applicationVersion, (user) =>
     {
         CheckRightsFantom(user);
         return _RepositoryFantom.UpdateFantom(item, user);
     }));
 }