Пример #1
0
        public override void Load()
        {
            var builder = new DbContextOptionsBuilder <StorageContext>();

            OptionsAction(builder);

            using (var dbContext = new StorageContext(builder.Options))
            {
                dbContext.Database.EnsureCreated();

                Data = !dbContext.ConfigurationValues.Any()
                    ? CreateAndSaveDefaultValues(dbContext)
                    : dbContext.ConfigurationValues.ToDictionary(c => c.Name, c => c.Value);

                //create server drive
                ServerDrive drive = dbContext.ServerDrives.FirstOrDefault();
                if (drive == null)
                {
                    Organization organization = dbContext.Organizations.FirstOrDefault();
                    if (organization != null)
                    {
                        Guid?organizationId = organization.Id;
                        dbContext.ServerDrives.Add(new ServerDrive {
                            Id = new Guid("37a01356-7514-47a2-96ce-986faadd628e"), FileStorageAdapterType = AdapterType.LocalFileStorageAdapter.ToString(), Name = "ServerDrive", OrganizationId = organizationId, StorageSizeInBytes = 0, IsDeleted = false
                        });
                    }
                }
                dbContext.SaveChanges();
            }
        }
Пример #2
0
        private void SaveItem()
        {
            bool success = false;

            try {
                if (PassedValidation())
                {
                    ServerDrive item = new ServerDrive(int.Parse(hfItemID.Value));
                    SPA.User    user = new SPA.User(Context.User.Identity.Name);
                    item.Name        = txtName.Text.Trim().ToUpper();
                    item.Size        = int.Parse(txtSize.Text.Trim());
                    item.Description = txtDescription.Text.Trim();
                    item.ServerID    = ServerID;

                    item.ModifiedBy = user.UserName;
                    if (item.ID == 0)
                    {
                        item.CreatedBy = item.ModifiedBy;
                        if (item.Insert())
                        {
                            success = true;
                        }
                    }
                    else
                    {
                        if (item.Update())
                        {
                            success = true;
                        }
                    }
                    if (success)
                    {
                        Fill();
                    }
                }
                else
                {
                    // validation failed
                }
            } catch (Exception ex) {
                SPA.Error.WriteError(ex);
                if (ShowDebug)
                {
                    lblErrorMessage.Text = ex.ToString();
                }
            }
            Response.Redirect(string.Format("{0}/{1}?View=Edit&ID={2}&ServerID={2}&IsDlg=1Filter={3}", SPContext.Current.Web.Url, Pages.ServerItem.PAGE_URL, ServerID, Filter), false);
        }
        public ServerDrive AddServerDrive(string driveName)
        {
            var    serverDrive = new ServerDrive();
            string adapter     = GetAdapterType(driveName);

            if (adapter.Equals(AdapterType.LocalFileStorage.ToString()))
            {
                serverDrive = _localFileStorageAdapter.AddServerDrive(driveName);
            }
            else
            {
                throw new EntityOperationException("Configuration is not set up for local file storage");
            }

            return(serverDrive);
        }
Пример #4
0
        private void FillItem(string Mode, int ID)
        {
            tblList.Visible = false;
            tblItem.Visible = true;

            ServerDrive item = new ServerDrive(ID);

            try {
                bool isView = (Mode == "View");
                bool isNew  = (ID == 0);
                //lbtnEdit.Visible = isView;
                //lbtnView.Visible = !isView && ID != 0;
                btnDelete.Visible = !isView && ID != 0;
                //lblReqMsg.Visible = !isView;

                txtName.Text            = item.Name;
                txtName.Visible         = !isView;
                lblNameView.Text        = item.Name;
                lblNameView.Visible     = isView;
                lblNameRequired.Visible = !isView;

                txtSize.Text            = item.Size.ToString();
                txtSize.Visible         = !isView;
                lblSizeView.Text        = item.Size.ToString();
                lblSizeView.Visible     = isView;
                lblSizeRequired.Visible = !isView;

                txtDescription.Text        = item.Description;
                txtDescription.Visible     = !isView;
                lblDescriptionView.Text    = item.Description;
                lblDescriptionView.Visible = isView;

                lblCreatedInfo.Text    = string.Format("Created at {0} by {1}", SPA.Common.ConvertUTCToWebLocalTime(SPContext.Current.Web, item.CreatedOn), item.CreatedBy);
                lblCreatedInfo.Visible = (item.ID != 0);
                lblUpdatedInfo.Text    = string.Format("Last modified at {0} by {1}", SPA.Common.ConvertUTCToWebLocalTime(SPContext.Current.Web, item.ModifiedOn), item.ModifiedBy);
                lblUpdatedInfo.Visible = (item.ID != 0);

                btnSave.Visible = !isView;
                btnCancel.Text  = isView ? "Close" : "Cancel";
            } catch (Exception ex) {
                SPA.Error.WriteError(ex);
                if (ShowDebug)
                {
                    lblErrorMessage.Text = ex.ToString();
                }
            }
        }
Пример #5
0
        protected override void Fill()
        {
            try {
                tblList.Visible = true;
                tblItem.Visible = false;

                // determine the user identity
                SPA.User user = new SPA.User(Context.User.Identity.Name);
                UserID = user.ID;

                // determine user role
                if (user.InRole("Manager"))
                {
                    // do something
                }

                // determine if new drive was clicked from server item ribbon
                if (Request["adddrive"] != null)
                {
                    hfItemID.Value    = "0";
                    btnDelete.Visible = false;
                    FillItem("Edit", 0);
                }

                DataView dv = new DataView(ServerDrive.Items(ServerID).Tables[0]);
                gvData.EmptyDataText = "No drives to display";
                gvData.DataSource    = dv;
                gvData.DataBind();
                gvData.Width = Unit.Percentage(50);
            } catch (Exception ex) {
                SPA.Error.WriteError(ex);
                if (ShowDebug)
                {
                    lblErrorMessage.Text = ex.ToString();
                }
            }
        }
Пример #6
0
        private void DeleteItem()
        {
            bool success = false;

            try {
                ServerDrive item = new ServerDrive(int.Parse(hfItemID.Value));
                if (item.Delete())
                {
                    success        = true;
                    hfItemID.Value = "0";
                }
                if (success)
                {
                    Fill();
                }
            } catch (Exception ex) {
                SPA.Error.WriteError(ex);
                if (ShowDebug)
                {
                    lblErrorMessage.Text = ex.ToString();
                }
            }
            Response.Redirect(string.Format("{0}/{1}?View=Edit&ID={2}&ServerID={2}&IsDlg=1Filter={3}", SPContext.Current.Web.Url, Pages.ServerItem.PAGE_URL, ServerID, Filter), false);
        }
Пример #7
0
 public void AddBytesToServerDrive(ServerDrive serverDrive, long size)
 {
     //add to SizeInBytes property in ServerDrive
     serverDrive.StorageSizeInBytes += size;
     serverDriveRepository.Update(serverDrive);
 }