protected void Page_Load(object sender, EventArgs e) { using (ProductProvider provider = new ProductProvider()) { Guid id = provider.CreateNewVersionOfProduct(RequestProductID, User.ID); Response.Redirect(String.Format("~/Configuration/Edit.aspx?ID={0}", id)); } }
protected void Page_Load(object sender, EventArgs e) { // выбираем значения из post запроса Guid[] prods = Request["products"].Split(',').Select(p => new Guid(p)).ToArray(); //120420 // List<Guid> prods = Request["products"].Split(',').Select(p => new Guid(p)).ToList(); Guid srcProductID = new Guid(Request["left_uid"]); Guid dstProductID = new Guid(Request["right_uid"]); //List<string> qdus_new = Request["qdus_new"].Split(',').ToList<string>(); //120420 string[] qdus_new = Request["qdus_new"].Split(',').ToArray(); //120420 // для каждого продукта в списке [products] выполняем // замену исходного продукта на целевой // foreach (Guid prod in prods) //120420 for (int i = 0; i < prods.Length; i++) //120420 { using (ProductProvider provider = new ProductProvider()) { // создаём новую версию продукта Guid newprod = provider.CreateNewVersionOfProduct(prods[i], Guid.Empty); // берём все исходные детали для замены // их может быть несколько List<Aspect.Domain.Configuration> srcConfs, dstConfs; srcConfs = provider.Configurations.Where(p => p.ProductOwnerID == newprod && p.ProductID == srcProductID).ToList(); dstConfs = new List<Aspect.Domain.Configuration>(); // создаём на базе исходных деталей - целевые с такими же параметрами using (ConfigurationProvider confProvider = new ConfigurationProvider()) { foreach (Aspect.Domain.Configuration conf in srcConfs) { Aspect.Domain.Configuration newconf = confProvider.CopyConfiguration(conf); newconf.ID = Guid.NewGuid(); newconf.ProductID = dstProductID; newconf.Quantity = Convert.ToDecimal(qdus_new[i]); dstConfs.Add(newconf); } } // удаляем из спецификации исходные продукты // вставляем в спецификацию новые продукты provider.Configurations.DeleteAllOnSubmit(srcConfs); provider.Configurations.InsertAllOnSubmit(dstConfs); provider.SubmitChanges(); // устанавливаем признак основной версии ProductProperty prop = provider.ProductProperties.Where( p => p.ProductID == newprod && p.PropertyID == new Guid("BBE170B0-28E4-4738-B365-1038B03F4552")).Single(); prop.Value = "1"; provider.SubmitChanges(); } } }
protected void Page_Load(object sender, EventArgs e) { if (IsViewMode) { ModeLabel.Text = "Просмотр"; AddFromBuffer.Visible = false; Save.Visible = false; Cancel.Visible = false; MadeBasicVersion.Visible = false; ReasonChanges.Visible = false; ReasonChangesLavel.Visible = false; } else { ModeLabel.Text = "Редактирование"; } if (!Page.IsPostBack) { // только при открытии спецификации на редактирование if (!IsViewMode) { using (ProductProvider provider = new ProductProvider()) { // для основных версий продукта создаём новую версию и // перенаправляем туда пользователя if (provider.IsMainVersion(ProductID)) { Guid newProductID = provider.CreateNewVersionOfProduct(ProductID, User.ID); Response.Redirect(String.Format("/Configuration/Edit.aspx?ID={0}", newProductID)); } } } this.PopupIframeInitializationString(ShowBuffer, "Буфер", "../Popup/Buffer.aspx", 700, 500); this.PopupIframeInitializationString(SummaryWeight, "Суммарный вес разузлованного состава", string.Format("../Popup/SummaryWeight.aspx?pid='+selectedProductID+'", hiddenSelectedProducts.Value == null ? "" : hiddenSelectedProducts.Value.ToString()), 700, 500); //this.BindGridColumns(); this.BindGridColumns2(); this.BindData(new Dictionary<Guid, Guid>()); } this.Title = HeaderLiteral.Text; }