Exemple #1
0
        protected void UpdateButton_Click(object sender, EventArgs e)
        {
            if (Session["UserID"] == null)
            {
                Global.Application_SessionExpired();
                return;
            }
            else
            {
                string currentProjectID = Request.QueryString["ProjectID"].ToString();
                if (currentProjectID.Equals(origProjectID)) // check to make sure project id loaded and project id to save to wasn't altered somehow.
                {
                    string currentManagerID = DropDownList8.SelectedValue,
                           currentProjectName = Projectname.Value,
                           currentCustomerID = DropDownList4.SelectedValue,
                           currentIndustryID = DropDownList5.SelectedValue,
                           currentStartDate = Text1.Value,
                           currentEndDate = Text5.Value,
                           currentStartDateFlex = Text3.Value,
                           currentEndDateFlex = Text4.Value,
                           currentProjectStage = DropDownList9.SelectedValue;
                    bool currentStageOverride = check_StageOverride.Checked;
                    bool changedStage = false, changedOverride = false, useAuto = false;



                    if (origStageOverride == true && currentStageOverride == true)
                    {
                        changedStage = (origProjectStage == currentProjectStage) ? false : true;
                        useAuto      = false;
                    }
                    else if (origStageOverride == false && currentStageOverride == false)
                    {
                        useAuto = true;
                    }
                    else if (origStageOverride == true && currentStageOverride == false)
                    {
                        useAuto = true; changedOverride = true;
                    }
                    else if (origStageOverride == false && currentStageOverride == true)
                    {
                        changedStage = (origProjectStage == currentProjectStage) ? false : true;
                        useAuto      = false; changedOverride = true;
                    }

                    if (check_Manager.Checked || check_ProjectName.Checked || check_Customer.Checked || check_Industry.Checked ||
                        check_StartDate.Checked || check_EndDate.Checked || check_StartDateFlex.Checked || check_EndDateFlex.Checked || changedStage || useAuto || changedOverride) // check to see if anything was edited
                    {
                        SqlConnection con = new SqlConnection(Global.getConnectionString());
                        SqlCommand    cmd = new SqlCommand("UPDATE pms_project", con);
                        String        pre = " SET ";
                        if (check_Manager.Checked)
                        {
                            cmd.CommandText += pre;
                            cmd.CommandText += "manager_id=@managerid";
                            cmd.Parameters.Add("@managerid", SqlDbType.Int).Value = currentManagerID;
                            pre = ", ";
                        }
                        if (check_ProjectName.Checked)
                        {
                            cmd.CommandText += pre;
                            cmd.CommandText += "name=@projname";
                            cmd.Parameters.Add("@projname", SqlDbType.VarChar).Value = currentProjectName;
                            pre = ", ";
                        }
                        if (check_Customer.Checked)
                        {
                            cmd.CommandText += pre;
                            cmd.CommandText += "customer_id=@custid";
                            cmd.Parameters.Add("@custid", SqlDbType.Int).Value = currentCustomerID;
                            pre = ", ";
                        }
                        if (check_Industry.Checked)
                        {
                            cmd.CommandText += pre;
                            cmd.CommandText += "industry_id=@industid";
                            cmd.Parameters.Add("@industid", SqlDbType.Int).Value = currentIndustryID;
                            pre = ", ";
                        }
                        if (check_StartDate.Checked)
                        {
                            cmd.CommandText += pre;
                            cmd.CommandText += "start_date=@startdate";
                            cmd.Parameters.Add("@startdate", SqlDbType.Date).Value = currentStartDate;
                            pre = ", ";
                        }
                        if (check_EndDate.Checked)
                        {
                            cmd.CommandText += pre;
                            cmd.CommandText += "end_date=@enddate";
                            cmd.Parameters.Add("@enddate", SqlDbType.Date).Value = currentEndDate;
                            pre = ", ";
                        }
                        if (check_StartDateFlex.Checked)
                        {
                            cmd.CommandText += pre;
                            cmd.CommandText += "start_date_flex=@startflex";
                            cmd.Parameters.Add("@startflex", SqlDbType.Int).Value = currentStartDateFlex;
                            pre = ", ";
                        }
                        if (check_EndDateFlex.Checked)
                        {
                            cmd.CommandText += pre;
                            cmd.CommandText += "end_date_flex=@endflex";
                            cmd.Parameters.Add("@endflex", SqlDbType.Int).Value = currentEndDateFlex;
                            pre = ", ";
                        }
                        if (useAuto)
                        {
                            cmd.CommandText += pre;
                            cmd.CommandText += "current_stage_override=NULL";
                        }
                        else if (changedStage)
                        {
                            cmd.CommandText += pre;
                            cmd.CommandText += "current_stage_override=@curstage";
                            cmd.Parameters.Add("@curstage", SqlDbType.Int).Value = currentProjectStage;
                        }
                        else if (changedOverride)
                        {
                            cmd.CommandText += pre;
                            cmd.CommandText += "current_stage_override=@curstage";
                            cmd.Parameters.Add("@curstage", SqlDbType.Int).Value = currentProjectStage;
                        }
                        cmd.CommandText += " WHERE id=@projid";
                        cmd.Parameters.Add("@projid", SqlDbType.Int).Value = currentProjectID;
                        cmd.CommandText += ";";
                        try
                        {
                            con.Open();
                            cmd.ExecuteNonQuery();
                        }
                        catch (Exception ex)
                        {
                            throw (ex);
                        }
                        finally
                        {
                            con.Close();
                        }

                        logChanges(check_Manager.Checked, check_ProjectName.Checked, check_Customer.Checked, check_Industry.Checked, check_StartDate.Checked, check_EndDate.Checked, check_StartDateFlex.Checked, check_EndDateFlex.Checked, changedOverride, changedStage, useAuto);
                        Response.Redirect("~/Manager/EditProject.aspx?ProjectID=" + Request.QueryString["ProjectID"]);
                    }
                }
            }
        }