Beispiel #1
0
        public static User CreateTenantAdminUser(int tenantId, string emailAddress)
        {
            var user = new User
            {
                TenantId       = tenantId,
                UserName       = AdminUserName,
                Name           = AdminUserName,
                Surname        = AdminUserName,
                EmailAddress   = emailAddress,
                EmployeeNumber = IdFactory.NewId().ToString()
            };

            user.SetNormalizedNames();
            return(user);
        }
        public async System.Threading.Tasks.Task <UploadResultOutput> SaveAsync()
        {
            UploadResultOutput output = new UploadResultOutput();

            output.Files = new List <DocumentDto>();

            HttpContext         hcx = this._httpContext.HttpContext;
            IFormFileCollection ffc = hcx.Request.Form.Files;

            var method     = this._httpContext.HttpContext.Request.Method;
            var filesCount = ffc.Count;
            var success    = false;

            for (int i = 0; i < filesCount; i++)
            {
                DocumentDto doc  = new DocumentDto();
                var         file = ffc[i];

                doc.FileId      = IdFactory.NewId();
                doc.OrginalName = file.FileName;
                doc.FileName    = System.IO.Path.GetFileNameWithoutExtension(file.FileName);
                doc.Extension   = System.IO.Path.GetExtension(file.FileName).Trim('.');
                doc.ContentType = file.ContentType;
                doc.Size        = file.Length;

                // Save file to local storage.
                // TODO: Add code to save file.

                // Software design:
                // 00100: Get default storage root path
                // 00200: Create folder for save file
                // 00300: Save file
                // 00400: Update database for saving file detail information

                // 00100: Get default storage root path
                string defaultRootFolder = GetTendentDefaultFileFolderPath(); // The file will be saved in this folder.

                string fileName =
                    doc.FileId + separator +        // File ID
                    doc.Extension + separator +     // File Extension Name
                    doc.OrginalName;                // File Name

                string filePath = defaultRootFolder.TrimEnd('/') + "/" + fileName;

                doc.FilePath = filePath;

                try
                {
                    // Create folder
                    if (false == Directory.Exists(defaultRootFolder))
                    {
                        Directory.CreateDirectory(defaultRootFolder);
                    }

                    // 00300 Save to hard disk
                    using (var stream = new FileStream(filePath, FileMode.Create))
                    {
                        await file.CopyToAsync(stream);
                    }

                    // 00400 Save to database

                    // If save file success, set result as success = true.
                    doc.Success = true;
                    doc.Message = "Upload success";
                    doc.Error   = null;
                }
                catch (Exception exc)
                {
                    doc.Success = false;
                    doc.Message = "Upload failed";
                    doc.Error   = exc.ToString();
                }

                output.Files.Add(doc);
            }

            output.FileCount = filesCount;
            output.Success   = success;

            return(output);
        }