예제 #1
0
        public void Update(PublicationInstanceEditDto model)
        {
            using (var dbc = new KuLibDbContext())
            {
                var entity = dbc.PublicationInstances.Find(model.Id);

                if (model.UserId.HasValue && model.UserId.Value != 0)
                {
                    entity.RentingUser = dbc.Users.Find(model.UserId.Value);
                    if (model.ReturnDate.HasValue)
                    {
                        entity.ReturnDate = model.ReturnDate;
                    }
                    else
                    {
                        throw new Exception("При выдаче экземпляра читателю на руки необходимо заполнить дату возврата.");
                    }
                }
                else
                {
                    dbc.Entry(entity).Reference(x => x.RentingUser).Load();
                    entity.RentingUser = null;
                    entity.ReturnDate  = null;
                }

                dbc.SaveChanges();
            }
        }
예제 #2
0
        public PublicationInstance Create(PublicationInstanceEditDto model)
        {
            using (var dbc = new KuLibDbContext())
            {
                var newEntity = new PublicationInstance();
                newEntity.Publication = dbc.Publications.Find(model.PublicationId);
                dbc.PublicationInstances.Add(newEntity);
                dbc.SaveChanges();

                return(newEntity);
            }
        }
예제 #3
0
        public PublicationInstanceEditDto Get(long id)
        {
            using (var dbc = new KuLibDbContext())
            {
                var entity = dbc.PublicationInstances.Find(id);
                var model  = new PublicationInstanceEditDto()
                {
                    Id                 = entity.Id,
                    PublicationId      = entity.Publication.Id,
                    PublicationInfoStr = entity.Publication.InfoStr,
                    UserId             = entity.RentingUser?.Id,
                    UserShortName      = entity.RentingUser?.ShortName,
                    ReturnDate         = entity.ReturnDate
                };

                return(model);
            }
        }
예제 #4
0
 public JsonResult Update(PublicationInstanceEditDto model)
 {
     try
     {
         var instanceService = new PublicationInstanceService();
         instanceService.Update(model);
         return(Json(new
         {
             success = true,
             message = "Редактирование прошло успешно"
         }));
     }
     catch (Exception ex)
     {
         return(Json(new
         {
             success = false,
             message = ex.Message
         }));
     }
 }
예제 #5
0
 public JsonResult Create(PublicationInstanceEditDto model)
 {
     try
     {
         var instanceService = new PublicationInstanceService();
         var newUser         = instanceService.Create(model);
         return(Json(new
         {
             success = true,
             message = "Создание прошло успешно",
             id = newUser.Id
         }));
     }
     catch (Exception ex)
     {
         return(Json(new
         {
             success = false,
             message = ex.Message
         }));
     }
 }