Exemple #1
0
        string IBlobStorageService.GetBlobUri(BlobStorageModel blobStorageModel)
        {
            var container = this.cloudBlobClient.GetContainerReference(blobStorageModel.StorageContainer);
            var blockBlob = container.GetBlockBlobReference(blobStorageModel.BlobName);

            return(blockBlob.Uri.AbsoluteUri);
        }
Exemple #2
0
        void IBlobStorageService.DeleteBlob(BlobStorageModel blobStorageModel)
        {
            var container = this.cloudBlobClient.GetContainerReference(blobStorageModel.StorageContainer);

            if (container.Exists())
            {
                var blockBlob = container.GetBlockBlobReference(blobStorageModel.BlobName);
                blockBlob.DeleteIfExists();
            }
        }
        OrganizationModel IOrganizationService.GetOrganization()
        {
            var organization      = this.dbContext.Organization.WhereActiveOrganization().FirstOrDefault();
            var organizationModel = new OrganizationModelMapping().Map(organization);

            if (organizationModel != null && organization.OrganizationLogo != null)
            {
                var blobStorageModel = new BlobStorageModel
                {
                    BlobName         = organization.OrganizationLogo,
                    StorageContainer = ApiConfiguration.BlobPublicContainer,
                };

                organizationModel.OrganizationLogoUri = this.blobStorageService.GetBlobUri(blobStorageModel);
            }

            return(organizationModel);
        }
Exemple #4
0
        void IBlobStorageService.UploadBlob(BlobStorageModel blobStorageModel)
        {
            var container = this.cloudBlobClient.GetContainerReference(blobStorageModel.StorageContainer);

            if (container.CreateIfNotExists())
            {
                if (blobStorageModel.IsPublicContainer)
                {
                    container.SetPermissions(new BlobContainerPermissions {
                        PublicAccess = BlobContainerPublicAccessType.Blob
                    });
                }
            }

            var blockBlob = container.GetBlockBlobReference(blobStorageModel.BlobName);

            blockBlob.Properties.ContentType = blobStorageModel.BlobType;
            blockBlob.UploadFromStream(blobStorageModel.Blob);
        }
Exemple #5
0
        void IBlobStorageService.RenameBlob(BlobStorageModel oldBlob, string newBlobName)
        {
            var container = this.cloudBlobClient.GetContainerReference(oldBlob.StorageContainer);

            var blockBlob = container.GetBlockBlobReference(oldBlob.BlobName);

            if (blockBlob.Exists())
            {
                var newBlob = container.GetBlockBlobReference(newBlobName);

                newBlob.Properties.ContentType = blockBlob.Properties.ContentType;
                newBlob.StartCopy(blockBlob);

                blockBlob.Delete();
            }
            else
            {
                throw new InvalidOperationException("Blob does not exist.");
            }
        }
        ResponseModel IPiServerService.UpdatePiServer(PiServerModel model)
        {
            var data = this.dbContext.PiServer.WhereActivePiServer(f => f.PiServerID == model.PiServerID).FirstOrDefault();

            if (data == null)
            {
                return(new ResponseModel {
                    Message = "Pi Server does not exists or user does not have a permission.", Status_Code = (int)StatusCode.Error
                });
            }
            else
            {
                if (!string.IsNullOrWhiteSpace(model.PiServerDesc))
                {
                    data.PiServerDesc = model.PiServerDesc;

                    data.ModifiedBy = this.context.Current.UserId;
                    data.ModifiedOn = DateTime.UtcNow;

                    this.dbContext.SaveChanges();
                }
            }

            if (model.RoomScheduleFile != null && !string.IsNullOrWhiteSpace(model.RoomScheduleFileType))
            {
                var blobStorageModel = new BlobStorageModel
                {
                    BlobName         = ApiConfiguration.BlobPrefix + data.PiServerName + ApiConstant.CsvFileType,
                    BlobType         = model.RoomScheduleFileType,
                    Blob             = model.RoomScheduleFile,
                    StorageContainer = ApiConfiguration.BlobPrivateContainer
                };
                this.blobStorageService.UploadBlob(blobStorageModel);
            }

            return(new ResponseModel {
                Message = "Pi Server details Updated", Status_Code = (int)StatusCode.Ok
            });
        }
        ResponseModel IOrganizationService.AddOrganization(OrganizationModel model)
        {
            var organization    = this.dbContext.Organization.FirstOrDefault();
            var responseMessage = string.Empty;

            if (organization != null)
            {
                if (!string.IsNullOrWhiteSpace(model.OrganizationName))
                {
                    organization.OrganizationName = model.OrganizationName;
                }

                if (!string.IsNullOrWhiteSpace(model.OrganizationDesc))
                {
                    organization.OrganizationDesc = model.OrganizationDesc;
                }

                if (!string.IsNullOrWhiteSpace(model.OrganizationAddress))
                {
                    organization.OrganizationAddress = model.OrganizationAddress;
                }

                if (!string.IsNullOrWhiteSpace(model.OrganizationLogoName))
                {
                    organization.OrganizationLogo = model.OrganizationLogoName;
                }

                organization.ModifiedBy = this.context.Current.UserId;
                organization.ModifiedOn = DateTime.UtcNow;

                responseMessage = "Organization Updated successfully.";
            }
            else
            {
                if (string.IsNullOrWhiteSpace(model.OrganizationName))
                {
                    return(new ResponseModel {
                        Message = "Organization name required to create new organization", Status_Code = (int)StatusCode.Error
                    });
                }

                organization = new Organization();
                organization.OrganizationName    = model.OrganizationName;
                organization.OrganizationDesc    = model.OrganizationDesc;
                organization.OrganizationAddress = model.OrganizationAddress;
                organization.OrganizationLogo    = model.OrganizationLogoName;
                organization.CreatedBy           = this.context.Current.UserId;
                organization.CreatedOn           = DateTime.UtcNow;
                organization.ModifiedBy          = this.context.Current.UserId;
                organization.ModifiedOn          = DateTime.UtcNow;
                organization.IsActive            = true;
                organization.IsDeleted           = false;

                this.dbContext.Organization.Add(organization);

                responseMessage = "Organization added successfully.";
            }

            this.dbContext.SaveChanges();

            if (model.OrganizationLogo != null && model.OrganizationLogoContentType != null && model.OrganizationLogoName != null)
            {
                var blobStorageModel = new BlobStorageModel
                {
                    BlobName          = model.OrganizationLogoName,
                    BlobType          = model.OrganizationLogoContentType,
                    Blob              = model.OrganizationLogo,
                    StorageContainer  = ApiConfiguration.BlobPublicContainer,
                    IsPublicContainer = true
                };

                this.blobStorageService.UploadBlob(blobStorageModel);
            }

            return(new ResponseModel {
                Message = responseMessage, Status_Code = (int)StatusCode.Ok
            });
        }