private ReportProperty GetReportProperty(DataRowView row) { string columnName; if (row.Row.Table.Columns.Contains(PID.ColumnName)) { columnName = PID.ColumnName; } else { columnName = OPID.ColumnName; } var id = Convert.ToUInt64(row[columnName]); var property = ReportProperty.Find(id); //тк мы во время одной сессии можем значала загрузить объект //потом с помощью dataset его обновить //повторного запроса к базе не будет тк объект уже в сессии //и мы увидем старые данные //что бы этого изюежать явно запрашиваем обновленные данные property.Refresh(); return(property); }
private void ShowValues(GridViewCommandEventArgs e) { CopyChangesToTable(dgvNonOptional, dtNonOptionalParams, PPropertyValue.ColumnName); CopyChangesToTable(dgvOptional, dtOptionalParams, OPPropertyValue.ColumnName); var url = String.Empty; var prop = ReportProperty.Find(Convert.ToUInt64(e.CommandArgument)); propertiesHelper = (PropertiesHelper)Session[PropHelper]; var result = propertiesHelper.GetRelativeValue(prop); if (!String.IsNullOrEmpty(Request["TemporaryId"])) { url = String.Format("ReportPropertyValues.aspx?TemporaryId={0}&rp={1}&rpv={2}", Request["TemporaryId"], Request["rp"], e.CommandArgument); } else if (prop.IsSupplierEditor()) { url = String.Format("../ReportsTuning/SelectClients.rails?r={0}&report={1}&rpv={2}&firmType=0", Request["r"], Request["rp"], e.CommandArgument); } // http://redmine.analit.net/issues/52707 else if (prop.PropertyType.PropertyName == "FirmCodeEqual2") { url = String.Format("../ReportsTuning/SelectClients.rails?r={0}&report={1}&rpv={2}&sortOrder=3&firmType=0", Request["r"], Request["rp"], e.CommandArgument); var propClients = prop.Report.Properties.SingleOrDefault(x => x.PropertyType.PropertyName == "Clients"); if (propClients != null) { var clientId = propClients.Values.FirstOrDefault(); if (clientId != null) { var maskRegion = Client.Find(Convert.ToUInt32(clientId.Value)).MaskRegion; url += $"®ion={maskRegion}"; } } } else if (prop.IsClientEditor()) { url = String.Format("../ReportsTuning/SelectClients.rails?r={0}&report={1}&rpv={2}&firmType=1", Request["r"], Request["rp"], e.CommandArgument); } else if (prop.IsAddressesEditor()) { url = String.Format("../ReportsTuning/SelectAddresses.rails?filter.GeneralReport={0}&filter.Report={1}&filter.ReportPropertyValue={2}", Request["r"], Request["rp"], e.CommandArgument); } else { url = String.Format("ReportPropertyValues.aspx?r={0}&rp={1}&rpv={2}", Request["r"], Request["rp"], e.CommandArgument); } if (!String.IsNullOrEmpty(result)) { url = String.Format("{0}&{1}", url, result); } Response.Redirect(url); }