private void DetermineCurrentSelectedMaterial(out Material MatItem, out RelationPriceAgreement PAItem, out RelationContractMaterial ContractItem) { // locate the material, price agreement or contract in the entitydatasource Guid SelID = Guid.Parse(DropDownListMaterials.SelectedValue); // try to load the data from material, relationcontract or relationpriceagreement MatItem = null; PAItem = null; ContractItem = null; EntityKey TempKey = new EntityKey("ModelTMSContainer.MaterialSet", "Id", SelID); try { MatItem = ControlObjectContext.GetObjectByKey(TempKey) as Material; } catch { }; if (MatItem == null) { TempKey = new EntityKey("ModelTMSContainer.RelationPriceAgreementSet", "Id", SelID); try { PAItem = ControlObjectContext.GetObjectByKey(TempKey) as RelationPriceAgreement; MatItem = PAItem.Material; } catch { }; } if ((MatItem == null) && (PAItem == null)) { TempKey = new EntityKey("ModelTMSContainer.RelationContractMaterialSet", "Id", SelID); try { ContractItem = ControlObjectContext.GetObjectByKey(TempKey) as RelationContractMaterial; MatItem = ContractItem.Material; } catch { }; } }
protected void ButtonNew_Click(object sender, EventArgs e) { RelationPriceAgreement NewObj = new RelationPriceAgreement(); ModelTMSContainer Temp = new ModelTMSContainer(Session["CustomerConnectString"].ToString(), Session); EntityKey TempKey = new EntityKey("ModelTMSContainer.RelationSet", "Id", Guid.Parse(Request.Params["Id"])); Relation TempObj = Temp.GetObjectByKey(TempKey) as Relation; NewObj.Relation = TempObj; NewObj.AgreementType = "Buy"; NewObj.Material = Temp.MaterialSet.First(); NewObj.StartDateTime = Common.CurrentClientDate(Session); NewObj.EndDateTime = Common.CurrentClientDate(Session).AddMonths(1); NewObj.IsActive = true; Temp.AddToRelationPriceAgreementSet(NewObj); Temp.SaveChanges(SaveOptions.DetectChangesBeforeSave); WebUserControlCustomerRelationPriceAgreement1.KeyID = NewObj.Id; WebUserControlCustomerRelationPriceAgreement1.Visible = true; }