protected internal virtual PortfolioCalculationRequestSubmitModel CreateSubmitModel(string requestId, PortfolioFileInfo fileInfo, SaveEntityInfo userFileSaveInfo)
        {
            var model = new PortfolioCalculationRequestSubmitModel
                            {
                                RequestId = requestId,
                                Status = PortfolioCalculationRequestStatus.New
                            };

            return model;
        }
        protected internal virtual SaveEntityInfo SaveUserFileRecord(string requestId, PortfolioFileInfo fileInfo)
        {
            var nowTimestamp = SystemTime.Now().ToTimestamp();

            var file = new UserFile
                                {
                                    ClientFileName = fileInfo.ClientFileName,
                                    CreatedBy = "system",
                                    ModifiedBy = "system",
                                    CreateTimestamp = nowTimestamp,
                                    ModifyTimestamp = nowTimestamp,
                                    FileSystemType = fileInfo.FileSystemType,
                                    Location = fileInfo.Uri,
                                    RequestId = requestId,
                                    Status = UserFileStatus.Pending,
                                    UploadTimestamp = fileInfo.UploadTimestamp,
                                    UserFileType = UserFileType.Portfolio,
                                };

            var info = this.SimpleDbClient.SaveEntity<UserFile>(file);
            return info;
        }
        protected internal virtual PortfolioFileInfo ConvertToPortfolioFileInfo(S3PutInfo putInfo)
        {
            var portfolioFileInfo = new PortfolioFileInfo
                                        {
                                            FileSystemType = FileSystemType.S3,
                                            Uri = putInfo.Uri,
                                            UploadTimestamp = SystemTime.Now().ToTimestamp(),
                                        };

            return portfolioFileInfo;
        }