public AttachmentDto Details(int objectType, int?objectId) { AttachmentDto attachment = null; try { if (objectId == null) { objectId = _clientData.ChildId; } attachment = new AttachmentsRepository(_appDbContext).GetDetails(objectType, (int)objectId); } catch (Exception e) { _log.LogError(e.Message); } return(attachment); }
public void Setup() { _stubFileDto = new FileDto { Id = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a1"), ItemId = Guid.Parse("5eb09b45-9c70-4465-b62d-535e28b16aed"), Name = "Stub file", Size = 25424, Status = Models.ViewModels.FileStatus.Uploading, Type = "Image/PNG", UploadedBy = "Stub test", UploadedOn = DateTime.Now, UploaderId = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a1"), }; _stubFiles = new UploadFilesVm { Files = new System.Collections.Generic.List <FileMetadataVm> { new FileMetadataVm { Name = "Stub file metadata", Size = 1000, Type = "Image/PNG" } }, ItemId = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a2"), UploadedBy = "Stub tester", UploaderId = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a3"), }; _stubStatusUpdate = new UpdateStatusVm { Id = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a1"), Status = FileStatus.Uploaded, }; _mockBlobStorageService = new Mock <IBlobStorageService>(); _mockLogger = new Mock <ILogger <AttachmentsRepository> >(); _attachmentsRepository = new AttachmentsRepository(GetInMemoryContextWithSeedData(), _mockBlobStorageService.Object, _mockLogger.Object); }
public ActionResult Edit(WorkDoneView workDoneView, FormCollection form, IEnumerable <HttpPostedFileBase> files) { if (ModelState.IsValid) { string sessionToken = Audit.GenerateNewSessionToken(); IWorkDonesRepository workDonesRepository = new WorkDonesRepository(db); WorkDone workDone = workDonesRepository.GetWorkDoneByPK((int)workDoneView.WorkDonePK); // set last user as entry creator if (workDone.UserFK == null) { workDone.UserFK = SecurityHelper.GetUserPKFromCookie(); } if (workDone.CreationDate == null) { workDone.CreationDate = DateTime.Now; } workDoneView.ConvertTo(workDoneView, workDone); workDonesRepository.SaveChanges(sessionToken); TempData["message"] = LayoutHelper.GetMessage("UPDATE", workDone.WorkDonePK); int workDoneFK = workDone.WorkDonePK; foreach (var file in files) { if (file != null && file.ContentLength > 0) { // save attachment to local drive string originalFileName = Path.GetFileName(file.FileName); string fileExtension = Path.GetExtension(originalFileName); string newFileName = System.Guid.NewGuid().ToString(); var path = Path.Combine(Path.GetDirectoryName(Server.MapPath("~")) + "\\Attachments", newFileName + fileExtension); file.SaveAs(path); // save attachment to database IAttachmentsRepository attachmentsRepository = new AttachmentsRepository(db); Attachment attachment = new Attachment(); attachment.Name = originalFileName; attachment.Filename = newFileName; attachment.Extension = fileExtension; attachment.ContentType = "text/plain"; attachmentsRepository.Add(attachment); attachmentsRepository.SaveChanges(sessionToken); int attachmentFK = attachment.AttachmentPK; // save attachment to work done attachments IWorkDoneAttachmentsRepository workDoneAttachmentsRepository = new WorkDoneAttachmentsRepository(db); WorkDoneAttachment workDoneAttachment = new WorkDoneAttachment(); workDoneAttachment.AttachmentFK = attachmentFK; workDoneAttachment.WorkDoneFK = workDoneFK; workDoneAttachmentsRepository.Add(workDoneAttachment); workDoneAttachmentsRepository.SaveChanges(sessionToken); } } return(RedirectToAction("Index", "WorkDone")); } else { //to do list ddl IToDoListsRepository toDoListsRepository = new ToDoListsRepository(db); workDoneView.ToDoLists = new SelectList(toDoListsRepository.GetValid().OrderBy("Name ASC").ToList(), "ToDoListPK", "Name"); //legalEntities ddl ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); workDoneView.LegalEntities = new SelectList(legalEntitiesRepository.GetValidLegalEntities().OrderBy("Name ASC").ToList(), "LegalEntityPK", "Name"); //service type ddl IServiceTypesRepository serviceTypesRepository = new ServiceTypesRepository(db); workDoneView.ServiceTypes = new SelectList(serviceTypesRepository.GetValid().OrderBy("Name ASC").ToList(), "ServiceTypePK", "Name"); //Work done ddl IWorkTypesRepository workTypesRepository = new WorkTypesRepository(db); workDoneView.WorkTypes = new SelectList(workTypesRepository.GetValid().OrderBy("Name ASC").ToList(), "WorkTypePK", "Name"); //worksubtypes ddl if (!String.IsNullOrWhiteSpace(form["WorkTypeFK"])) { IWorkSubtypesRepository workSubtypesRepository = new WorkSubtypesRepository(db); workDoneView.WorkSubtypes = new SelectList(workSubtypesRepository.GetValidByWorkType(Convert.ToInt32(form["WorkTypeFK"])), "WorkSubtypePK", "Name", form["WorkSubtypeFK"]); } else { workDoneView.WorkSubtypes = new SelectList(new List <County>(), "WorkSubtypePK", "Name"); } //hours and minutes ddl workDoneView.Hours = GeneratorView.GenerateHours(); workDoneView.Minutes = GeneratorView.GenerateMinutes(); return(View(workDoneView)); } }