示例#1
0
    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);
    }
示例#2
0
    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 += $"&region={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);
    }