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(); }
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); }
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); }