Exemple #1
0
 protected override IServiceDocumentDto Create(int performingUserId, IServiceDocumentDto serviceDocument)
 {
     using (var context = new PrometheusContext())
     {
         var document = context.ServiceDocuments.ToList().FirstOrDefault(x => x.StorageNameGuid == serviceDocument.StorageNameGuid);
         if (document != null)
         {
             throw new InvalidOperationException(string.Format("Service Document with ID {0} already exists.", serviceDocument.StorageNameGuid));
         }
         var savedDocument = context.ServiceDocuments.Add(ManualMapper.MapDtoToServiceDocument(serviceDocument));
         context.SaveChanges(performingUserId);
         return(ManualMapper.MapServiceDocumentToDto(savedDocument));
     }
 }
Exemple #2
0
 protected override IServiceDocumentDto Update(int performingUserId, IServiceDocumentDto entity)
 {
     using (var context = new PrometheusContext())
     {
         if (!context.ServiceDocuments.Any(x => x.Id == entity.Id))
         {
             throw new InvalidOperationException(
                       string.Format("Service Document with ID {0} cannot be updated since it does not exist.", entity.Id));
         }
         var updatedServiceDocument = ManualMapper.MapDtoToServiceDocument(entity);
         context.ServiceDocuments.Attach(updatedServiceDocument);
         context.Entry(updatedServiceDocument).State = EntityState.Modified;
         context.SaveChanges(performingUserId);
         return(ManualMapper.MapServiceDocumentToDto(updatedServiceDocument));
     }
 }
        /// <summary>
        /// Makes a fake Service Document in the DB and returns its ID.
        /// </summary>
        /// <param name="serviceId">Service to link to</param>
        /// <returns></returns>
        private int CreateFakeDocument(int serviceId)
        {
            var fakeDocument = A.Fake <IServiceDocumentDto>();

            A.CallTo(() => fakeDocument.ServiceId).Returns(serviceId);
            A.CallTo(() => fakeDocument.UploadDate).Returns(DateTime.UtcNow);

            using (var context = new PrometheusContext())
            {
                var document = ManualMapper.MapDtoToServiceDocument(fakeDocument);
                context.ServiceDocuments.Add(document);
                context.SaveChanges();

                return(document.Id);
            }
        }