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()); }
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(); } }
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(); } }