protected void DigitalGoodGrid_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     if (e.CommandName == "Copy")
     {
         int         dgid        = AlwaysConvert.ToInt(e.CommandArgument);
         DigitalGood digitalGood = DigitalGoodDataSource.Load(dgid);
         DigitalGood copy        = digitalGood.Copy();
         if (copy != null)
         {
             String newName = "Copy of " + copy.Name;
             if (newName.Length > 100)
             {
                 newName = newName.Substring(0, 97) + "...";
             }
             copy.Name = newName;
             copy.Save();
         }
         DigitalGoodGrid.DataBind();
     }
 }
 public static SaveResult Insert(DigitalGood digitalGood)
 {
     return(digitalGood.Save());
 }
 public static SaveResult Update(DigitalGood digitalGood)
 {
     return(digitalGood.Save());
 }
Exemplo n.º 4
0
        private bool Save()
        {
            if (!Page.IsValid)
            {
                return(false);
            }
            _DigitalGood.Name             = Name.Text;
            _DigitalGood.FileName         = FileName.Text;
            _DigitalGood.MediaKey         = MediaKey.Text;
            _DigitalGood.ActivationModeId = AlwaysConvert.ToByte(ActivationMode.SelectedValue);
            _DigitalGood.MaxDownloads     = AlwaysConvert.ToByte(MaxDownloads.Text);
            int tempDays    = AlwaysConvert.ToInt(ActivationTimeoutDays.Text);
            int tempHours   = AlwaysConvert.ToInt(ActivationTimeoutHours.Text);
            int tempMinutes = AlwaysConvert.ToInt(ActivationTimeoutMinutes.Text);

            if ((tempDays > 0) || (tempHours > 0) || (tempMinutes > 0))
            {
                _DigitalGood.ActivationTimeout = string.Format("{0},{1},{2}", tempDays, tempHours, tempMinutes);
            }
            else
            {
                _DigitalGood.ActivationTimeout = string.Empty;
            }
            tempDays    = AlwaysConvert.ToInt(DownloadTimeoutDays.Text);
            tempHours   = AlwaysConvert.ToInt(DownloadTimeoutHours.Text);
            tempMinutes = AlwaysConvert.ToInt(DownloadTimeoutMinutes.Text);
            if ((tempDays > 0) || (tempHours > 0) || (tempMinutes > 0))
            {
                _DigitalGood.DownloadTimeout = string.Format("{0},{1},{2}", tempDays, tempHours, tempMinutes);
            }
            else
            {
                _DigitalGood.DownloadTimeout = string.Empty;
            }

            //VALIDATE THE FILE SIE
            if (System.IO.File.Exists(_DigitalGood.AbsoluteFilePath))
            {
                //READ THE EXISTING FILE SIZE
                System.IO.FileInfo fi = new System.IO.FileInfo(_DigitalGood.AbsoluteFilePath);
                _DigitalGood.FileSize = fi.Length;
            }

            //CHECK THE README TEXT
            _DigitalGood.LicenseAgreementId     = AlwaysConvert.ToInt(LicenseAgreement.SelectedValue);
            _DigitalGood.LicenseAgreementModeId = AlwaysConvert.ToByte(LicenseAgreementMode.SelectedValue);
            _DigitalGood.ReadmeId         = AlwaysConvert.ToInt(Readme.SelectedValue);
            _DigitalGood.EnableSerialKeys = EnableSerialKeys.Checked;
            //Check serial key provider
            if (string.IsNullOrEmpty(KeySource.SelectedValue) ||
                KeySource.SelectedValue.Equals("0"))
            {
                _DigitalGood.SerialKeyProviderId = null;
            }
            else
            {
                _DigitalGood.SerialKeyProviderId = KeySource.SelectedValue;
            }

            //Check fulfillment mode
            if (FulfillmentMode.SelectedValue.Equals("0"))
            {
                _DigitalGood.FulfillmentMode = CommerceBuilder.DigitalDelivery.FulfillmentMode.Manual;
            }
            else if (FulfillmentMode.SelectedValue.Equals("1"))
            {
                _DigitalGood.FulfillmentMode = CommerceBuilder.DigitalDelivery.FulfillmentMode.OnOrder;
            }
            else
            {
                _DigitalGood.FulfillmentMode = CommerceBuilder.DigitalDelivery.FulfillmentMode.OnPaidOrder;
            }

            //Check Activation Email
            if (string.IsNullOrEmpty(ActivationEmailTemplateList.SelectedValue) ||
                ActivationEmailTemplateList.SelectedValue.Equals("0"))
            {
                _DigitalGood.ActivationEmailId = 0;
            }
            else
            {
                _DigitalGood.ActivationEmailId = AlwaysConvert.ToInt(ActivationEmailTemplateList.SelectedValue);
            }

            //Check Fulfillment Email
            if (string.IsNullOrEmpty(FulfillmentEmailTemplateList.SelectedValue) ||
                FulfillmentEmailTemplateList.SelectedValue.Equals("0"))
            {
                _DigitalGood.FulfillmentEmailId = 0;
            }
            else
            {
                _DigitalGood.FulfillmentEmailId = AlwaysConvert.ToInt(FulfillmentEmailTemplateList.SelectedValue);
            }


            _DigitalGood.DigitalGoodGroups.DeleteAll();
            foreach (ListItem item in Groups.Items)
            {
                if (item.Selected)
                {
                    int groupId          = AlwaysConvert.ToInt(item.Value);
                    DigitalGoodGroup dgg = new DigitalGoodGroup(_DigitalGood, GroupDataSource.Load(groupId));
                    _DigitalGood.DigitalGoodGroups.Add(dgg);
                }
            }

            _DigitalGood.Save();
            ToggleConfigureProvider();
            return(true);
        }
        protected void AddButton_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                if (!DigitalGoodNameExists(Name.Text))
                {
                    // SET THE DIGITAL GOOD PATH
                    string digitalGoodPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_Data\\DigitalGoods");

                    // SAVE THE BINARY FILE DATA
                    HttpPostedFile file = null;
                    if (Request.Files.Count > 0)
                    {
                        file = Request.Files[0];
                    }
                    bool fileUploaded = ((file != null) && (file.ContentLength > 0));
                    if (fileUploaded)
                    {
                        string fileName = string.IsNullOrEmpty(UploadFileName.Text) ? Path.GetFileName(file.FileName) : UploadFileName.Text;
                        string filePath = Path.Combine(digitalGoodPath, fileName);
                        if (FileHelper.IsExtensionValid(fileName, AbleContext.Current.Store.Settings.FileExt_DigitalGoods))
                        {
                            if (!File.Exists(filePath) || UploadOverwrite.Checked)
                            {
                                int    fileLength = file.ContentLength;
                                Byte[] buffer     = new byte[fileLength];
                                file.InputStream.Read(buffer, 0, fileLength);
                                File.WriteAllBytes(filePath, buffer);
                                // RECORD THE DIGITAL GOOD
                                DigitalGood dg = new DigitalGood();
                                dg.ServerFileName   = fileName;
                                dg.Name             = Name.Text;
                                dg.FileSize         = fileLength;
                                dg.FileName         = fileName;
                                dg.ActivationModeId = AlwaysConvert.ToByte(ActivationMode.SelectedValue);
                                dg.MaxDownloads     = AlwaysConvert.ToByte(MaxDownloads.Text);
                                int tempDays    = AlwaysConvert.ToInt(ActivationTimeoutDays.Text);
                                int tempHours   = AlwaysConvert.ToInt(ActivationTimeoutHours.Text);
                                int tempMinutes = AlwaysConvert.ToInt(ActivationTimeoutMinutes.Text);
                                if ((tempDays > 0) || (tempHours > 0) || (tempMinutes > 0))
                                {
                                    dg.ActivationTimeout = string.Format("{0},{1},{2}", tempDays, tempHours, tempMinutes);
                                }
                                else
                                {
                                    dg.ActivationTimeout = string.Empty;
                                }
                                tempDays    = AlwaysConvert.ToInt(DownloadTimeoutDays.Text);
                                tempHours   = AlwaysConvert.ToInt(DownloadTimeoutHours.Text);
                                tempMinutes = AlwaysConvert.ToInt(DownloadTimeoutMinutes.Text);
                                if ((tempDays > 0) || (tempHours > 0) || (tempMinutes > 0))
                                {
                                    dg.DownloadTimeout = string.Format("{0},{1},{2}", tempDays, tempHours, tempMinutes);
                                }
                                else
                                {
                                    dg.DownloadTimeout = string.Empty;
                                }
                                dg.Save();
                                // SEE WHETHER WE ARE SUPPOSED TO EDIT AFTER SAVING
                                if (((WebControl)sender).ID == "AddAndEditButton")
                                {
                                    // REDIRECT TO THE EDIT PAGE
                                    Response.Redirect("~/Admin/DigitalGoods/EditDigitalGood.aspx?DigitalGoodId=" + dg.Id);
                                }
                                else
                                {
                                    // REDIRECT BACK TO THIS PAGE TO PREVENT REFRESH ISSUES WITH FILE UPLOAD
                                    Response.Redirect(Request.ServerVariables["SCRIPT_NAME"]);
                                }
                            }
                            else
                            {
                                CustomValidator overwrite = new CustomValidator();
                                overwrite.IsValid           = false;
                                overwrite.ControlToValidate = "UploadFileName";
                                overwrite.ErrorMessage      = "The target file '" + fileName + "' already exists.  Either allow overwrite or use an alternate file name.";
                                overwrite.Text            = "*";
                                overwrite.ValidationGroup = "Add";
                                phUploadOverwrite.Controls.Add(overwrite);
                                AddPopup.Show();
                            }
                        }
                        else
                        {
                            CustomValidator filetype = new CustomValidator();
                            filetype.IsValid           = false;
                            filetype.ControlToValidate = "UploadFileName";
                            filetype.ErrorMessage      = "The target file '" + fileName + "' does not have a valid file extension.";
                            filetype.Text            = "*";
                            filetype.ValidationGroup = "Add";
                            phUploadFileTypes.Controls.Add(filetype);
                            AddPopup.Show();
                        }
                    }
                    UploadFileName.Text     = string.Empty;
                    UploadOverwrite.Checked = false;
                }
                else
                {
                    CustomValidator uniqueName = new CustomValidator();
                    uniqueName.IsValid           = false;
                    uniqueName.ControlToValidate = "Name";
                    uniqueName.ErrorMessage      = "The specified display name already exists.  You must use an alternate name.";
                    uniqueName.Text            = "*";
                    uniqueName.ValidationGroup = "Add";
                    phUniqueName.Controls.Add(uniqueName);
                    AddPopup.Show();
                }
            }
            else
            {
                AddPopup.Show();
            }
        }
Exemplo n.º 6
0
        protected void AddButton_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                if (!DigitalGoodNameExists(Name.Text))
                {
                    string      fileName = Path.GetFileName(ServerFileName.Text);
                    DigitalGood dg       = new DigitalGood();
                    dg.ServerFileName   = _RelativeDigitalGoodPath + fileName;
                    dg.Name             = Name.Text;
                    dg.FileSize         = new FileInfo(Path.Combine(_DigitalGoodPath, fileName)).Length;
                    dg.FileName         = string.IsNullOrEmpty(DownloadName.Text) ? fileName : DownloadName.Text;
                    dg.ActivationModeId = AlwaysConvert.ToByte(ActivationMode.SelectedValue);
                    dg.MaxDownloads     = AlwaysConvert.ToByte(MaxDownloads.Text);
                    int tempDays    = AlwaysConvert.ToInt(ActivationTimeoutDays.Text);
                    int tempHours   = AlwaysConvert.ToInt(ActivationTimeoutHours.Text);
                    int tempMinutes = AlwaysConvert.ToInt(ActivationTimeoutMinutes.Text);
                    if ((tempDays > 0) || (tempHours > 0) || (tempMinutes > 0))
                    {
                        dg.ActivationTimeout = string.Format("{0},{1},{2}", tempDays, tempHours, tempMinutes);
                    }
                    else
                    {
                        dg.ActivationTimeout = string.Empty;
                    }
                    tempDays    = AlwaysConvert.ToInt(DownloadTimeoutDays.Text);
                    tempHours   = AlwaysConvert.ToInt(DownloadTimeoutHours.Text);
                    tempMinutes = AlwaysConvert.ToInt(DownloadTimeoutMinutes.Text);
                    if ((tempDays > 0) || (tempHours > 0) || (tempMinutes > 0))
                    {
                        dg.DownloadTimeout = string.Format("{0},{1},{2}", tempDays, tempHours, tempMinutes);
                    }
                    else
                    {
                        dg.DownloadTimeout = string.Empty;
                    }
                    dg.Save();

                    // SEE WHETHER WE ARE SUPPOSED TO EDIT AFTER SAVING
                    if (((WebControl)sender).ID == "AddAndEditButton")
                    {
                        // REDIRECT TO THE EDIT PAGE
                        Response.Redirect("~/Admin/DigitalGoods/EditDigitalGood.aspx?DigitalGoodId=" + dg.Id);
                    }

                    // UPDATE THE FILE LIST
                    int index = IndexOfFile(fileName);
                    if (index > -1)
                    {
                        FileDigitalGood fdg = _FileList[index];
                        if (fdg.DigitalGoods == null)
                        {
                            fdg.DigitalGoods = new List <DigitalGood>();
                        }
                        fdg.DigitalGoods.Add(dg);
                    }

                    // REBIND THE FILE GRID
                    BindFileGrid();
                }
                else
                {
                    CustomValidator uniqueName = new CustomValidator();
                    uniqueName.IsValid           = false;
                    uniqueName.ControlToValidate = "Name";
                    uniqueName.ErrorMessage      = "The specified name already exists.  You must use an alternate name.";
                    uniqueName.Text            = "*";
                    uniqueName.ValidationGroup = "Add";
                    phUniqueName.Controls.Add(uniqueName);
                    AddPopup.Show();
                }
            }
            else
            {
                AddPopup.Show();
            }
        }