public DocumentDTO Convert(DocumentCreateModel source, DocumentDTO destination, ResolutionContext context) { switch (source.DocumentType) { case DocumentType.Certificate: destination = new CertificateDTO { CalibrationDate = source.CalibrationDate, CalibrationExpireDate = source.CalibrationExpireDate }; break; case DocumentType.FailureNotification: destination = new FailureNotificationDTO { DocumentDate = source.DocumentDate }; break; default: destination = new CertificateDTO(); break; } destination.Contract = new ContractDTO { Year = source.Year, ContractNumber = source.ContractNumber?.Trim() }; destination.Client = new ClientDTO { Name = source.ClientName?.Trim().Capitalize(), ExploitationPlace = source.ExploitationPlace?.Trim().Capitalize() }; destination.Device = new DeviceDTO { Name = source.DeviceName?.Trim(), Type = source.DeviceType?.Trim(), SerialNumber = source.SerialNumber?.Trim(), RegistrationNumber = source.RegistrationNumber?.Trim(), VerificationMethodic = new MethodicDTO { Name = Path.GetFileNameWithoutExtension(source.VerificationMethodic), FileName = source.VerificationMethodic } }; destination.DocumentFile = CreateFilePath(source); destination.DocumentNumber = source.DocumentNumber; destination.CreatedBy = source.CreatedBy; destination.CreatedOn = source.CreatedOn; return(destination); }
public DocumentDTO Convert(DocumentEditModel source, DocumentDTO destination, ResolutionContext context) { switch (source.DocumentType) { case Components.DocumentType.Certificate: destination = new CertificateDTO { Id = source.Id, CalibrationDate = (DateTime)source.CalibrationDate, CalibrationExpireDate = (DateTime)source.CalibrationExpireDate, DocumentNumber = source.DocumentNumber, Client = new ClientDTO { Name = source.ClientName, ExploitationPlace = source.ExploitationPlace }, Contract = new ContractDTO { Year = source.Year, ContractNumber = source.ContractNumber }, Device = new DeviceDTO { Name = source.DeviceName, Type = source.DeviceType, SerialNumber = source.SerialNumber, RegistrationNumber = source.RegistrationNumber, VerificationMethodic = new MethodicDTO { Name = Path.GetFileNameWithoutExtension(source.VerificationMethodic), FileName = source.VerificationMethodic } }, UpdatedBy = source.UpdatedBy, UpdatedOn = source.UpdatedOn }; return(destination); case Components.DocumentType.FailureNotification: destination = new FailureNotificationDTO { Id = source.Id, DocumentDate = (DateTime)source.DocumentDate, DocumentNumber = source.DocumentNumber, Client = new ClientDTO { Name = source.ClientName, ExploitationPlace = source.ExploitationPlace }, Contract = new ContractDTO { Year = source.Year, ContractNumber = source.ContractNumber }, Device = new DeviceDTO { Name = source.DeviceName, Type = source.DeviceType, SerialNumber = source.SerialNumber, RegistrationNumber = source.RegistrationNumber, VerificationMethodic = new MethodicDTO { Name = Path.GetFileNameWithoutExtension(source.VerificationMethodic), FileName = source.VerificationMethodic } }, UpdatedBy = source.UpdatedBy, UpdatedOn = source.UpdatedOn }; return(destination); default: return(null); } }