protected void GrdRegistration_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        Label lblId = (Label)GrdRegistration.Rows[e.RowIndex].FindControl("lblId");

        try
        {
            OrganisationOfferings orgOffering = OrganisationOfferingsDB.GetByID(Convert.ToInt32(lblId.Text));
            if (orgOffering != null)
            {
                OrganisationOfferingsDB.Delete(orgOffering.OrganisationOfferingID);
            }
        }
        catch (ForeignKeyConstraintException fkcEx)
        {
            if (Utilities.IsDev())
            {
                HideTableAndSetErrorMessage("Can not delete because other records depend on this : " + fkcEx.Message);
            }
            else
            {
                HideTableAndSetErrorMessage("Can not delete because other records depend on this");
            }
        }

        FillGrid();
    }
    protected void GrdRegistration_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        Label        lblId         = (Label)GrdRegistration.Rows[e.RowIndex].FindControl("lblId");
        DropDownList ddlOffering   = (DropDownList)GrdRegistration.Rows[e.RowIndex].FindControl("ddlOffering");
        TextBox      txtPrice      = (TextBox)GrdRegistration.Rows[e.RowIndex].FindControl("txtPrice");
        TextBox      txtDateActive = (TextBox)GrdRegistration.Rows[e.RowIndex].FindControl("txtDateActive");

        CustomValidator txtValidateDateActive = (CustomValidator)GrdRegistration.Rows[e.RowIndex].FindControl("txtValidateDateActive");

        if (!txtValidateDateActive.IsValid)
        {
            return;
        }

        DateTime dateActive = GetDate(txtDateActive.Text.Trim());

        OrganisationOfferings orgOffering = OrganisationOfferingsDB.GetByID(Convert.ToInt32(lblId.Text));

        if (orgOffering != null)
        {
            OrganisationOfferingsDB.Update(Convert.ToInt32(lblId.Text), orgOffering.Organisation.OrganisationID, orgOffering.Offering.OfferingID, Convert.ToDecimal(txtPrice.Text), GetDate(txtDateActive.Text.Trim()));
        }

        GrdRegistration.EditIndex = -1;
        FillGrid();
    }
Example #3
0
    public static DataTable AddIsActiveFieldToRows(DataTable dt_original)
    {
        DataTable dt = dt_original.Copy();

        dt.Columns.Add("is_active", typeof(bool));
        System.Collections.Hashtable offerings = new System.Collections.Hashtable();
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            OrganisationOfferings curOrgOffering = OrganisationOfferingsDB.Load(dt.Rows[i], "oo_");
            curOrgOffering.Offering = OfferingDB.Load(dt.Rows[i], "o_");

            if (curOrgOffering.DateActive.Date > DateTime.Today)  // if date after today - ignore (its inactive)
            {
                continue;
            }

            if (offerings[new Hashtable2D.Key(curOrgOffering.Offering.OfferingID, curOrgOffering.Organisation.OrganisationID)] == null)
            {
                offerings[new Hashtable2D.Key(curOrgOffering.Offering.OfferingID, curOrgOffering.Organisation.OrganisationID)] = curOrgOffering;
            }
            else if (((OrganisationOfferings)offerings[new Hashtable2D.Key(curOrgOffering.Offering.OfferingID, curOrgOffering.Organisation.OrganisationID)]).DateActive < curOrgOffering.DateActive)
            {
                offerings[new Hashtable2D.Key(curOrgOffering.Offering.OfferingID, curOrgOffering.Organisation.OrganisationID)] = curOrgOffering;
            }
            else if (((OrganisationOfferings)offerings[new Hashtable2D.Key(curOrgOffering.Offering.OfferingID, curOrgOffering.Organisation.OrganisationID)]).DateActive == curOrgOffering.DateActive && ((OrganisationOfferings)offerings[new Hashtable2D.Key(curOrgOffering.Offering.OfferingID, curOrgOffering.Organisation.OrganisationID)]).OrganisationOfferingID > curOrgOffering.OrganisationOfferingID)
            {
                offerings[new Hashtable2D.Key(curOrgOffering.Offering.OfferingID, curOrgOffering.Organisation.OrganisationID)] = curOrgOffering;
            }
        }
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            OrganisationOfferings curOrgOffering = OrganisationOfferingsDB.Load(dt.Rows[i], "oo_");
            curOrgOffering.Offering = OfferingDB.Load(dt.Rows[i], "o_");

            OrganisationOfferings activeOrgOffering = (OrganisationOfferings)(offerings[new Hashtable2D.Key(curOrgOffering.Offering.OfferingID, curOrgOffering.Organisation.OrganisationID)]);

            dt.Rows[i]["is_active"] = curOrgOffering.OrganisationOfferingID == activeOrgOffering.OrganisationOfferingID;

            if (dt.Rows[i]["oo_date_active"] == DBNull.Value)
            {
                dt.Rows[i]["is_active"] = false;
            }
        }

        return(dt);
    }
Example #4
0
    public static System.Collections.Hashtable GetHashActiveByOrg(int org_id)
    {
        System.Collections.Hashtable activeOrgOfferings = new System.Collections.Hashtable();

        DataTable dt_activeOrgOfferings = OrganisationOfferingsDB.GetDataTable_ByOrg(org_id);

        dt_activeOrgOfferings = OrganisationOfferingsDB.AddIsActiveFieldToRows(dt_activeOrgOfferings);
        for (int i = dt_activeOrgOfferings.Rows.Count - 1; i >= 0; i--)
        {
            if (Convert.ToBoolean(dt_activeOrgOfferings.Rows[i]["is_active"]))
            {
                OrganisationOfferings curOrgOffering = OrganisationOfferingsDB.Load(dt_activeOrgOfferings.Rows[i], "oo_");
                curOrgOffering.Offering = OfferingDB.Load(dt_activeOrgOfferings.Rows[i], "o_");
                activeOrgOfferings[curOrgOffering.Offering.OfferingID] = curOrgOffering;
            }
        }

        return(activeOrgOfferings);
    }