lundi 22 mars 2021

How to avaid more if else in effective way

I have a function like blow but it seems more if else conditions .if there any similar effective way to handle the same .this function with my code properly working.

   public bool UpdateAdjustmentRequest()
        {
           if (ds1.Tables[0].Rows[0]["AppLev1Req"].ToString().Trim() == "True")
            {
                if (ds1.Tables[0].Rows[0]["AppLev2Req"].ToString().Trim() == "True")
                {
                    if (ds1.Tables[0].Rows[0]["AppLev3Req"].ToString().Trim() == "True")
                    {
                        if (ds1.Tables[0].Rows[0]["AppLev4Req"].ToString().Trim() == "True")
                        {
                            //1234
                            if ((ds1.Tables[0].Rows[0]["Approver1Status"].ToString().Trim() == "Approved") && (ds1.Tables[0].Rows[0]["Approver2Status"].ToString().Trim() == "Approved") && (ds1.Tables[0].Rows[0]["Approver3Status"].ToString().Trim() == "Approved") && (ds1.Tables[0].Rows[0]["Approver4Status"].ToString().Trim() == "Approved"))
                            {
                                if (UpdateApprovedRequest())
                                {
//done                                    }
                                else
                                {
                                    return false;
                                }

                            }
                            else
                            {
                                return false;
                            }
                        }
                        else
                        {
                            //123
                            if ((ds1.Tables[0].Rows[0]["Approver1Status"].ToString().Trim() == "Approved") && (ds1.Tables[0].Rows[0]["Approver2Status"].ToString().Trim() == "Approved") && (ds1.Tables[0].Rows[0]["Approver3Status"].ToString().Trim() == "Approved"))
                            {
                                if (UpdateApprovedRequest())
                                {
//done
                                }
                                else
                                {
                                    return false;
                                }

                            }
                            else
                            {
                                return false;
                            }
                        }
                    }
                    else if (ds1.Tables[0].Rows[0]["AppLev4Req"].ToString().Trim() == "True")
                    {
                        //124
                        if ((ds1.Tables[0].Rows[0]["Approver1Status"].ToString().Trim() == "Approved") && (ds1.Tables[0].Rows[0]["Approver2Status"].ToString().Trim() == "Approved") && (ds1.Tables[0].Rows[0]["Approver4Status"].ToString().Trim() == "Approved"))
                        {
                            if (UpdateApprovedRequest())
                            {
//done
                            }
                            else
                            {
                                return false;
                            }

                        }
                        else
                        {
                            return false;
                        }
                    }
                    else
                    {
                        //12
                        if ((ds1.Tables[0].Rows[0]["Approver1Status"].ToString().Trim() == "Approved") && (ds1.Tables[0].Rows[0]["Approver2Status"].ToString().Trim() == "Approved"))
                        {
                            if (UpdateApprovedRequest())
                            {
//done
                            }
                            else
                            {
                                return false;
                            }
                        }
                        else
                        {
                            return true;
                        }
                    }
                }
                else if (ds1.Tables[0].Rows[0]["AppLev3Req"].ToString().Trim() == "True")
                {
                    if (ds1.Tables[0].Rows[0]["AppLev4Req"].ToString().Trim() == "True")
                    {
                        //134
                        if ((ds1.Tables[0].Rows[0]["Approver1Status"].ToString().Trim() == "Approved") && (ds1.Tables[0].Rows[0]["Approver3Status"].ToString().Trim() == "Approved") && (ds1.Tables[0].Rows[0]["Approver4Status"].ToString().Trim() == "Approved"))
                        {
                            if (UpdateApprovedRequest())
                            {
//done
                            }
                            else
                            {
                                return false;
                            }

                        }
                        else
                        {
                            return false;
                        }
                    }
                    else
                    {
                        //13
                        if ((ds1.Tables[0].Rows[0]["Approver1Status"].ToString().Trim() == "Approved") && (ds1.Tables[0].Rows[0]["Approver3Status"].ToString().Trim() == "Approved"))
                        {
                            if (UpdateApprovedRequest())
                            {
//done
                            }
                            else
                            {
                                return false;
                            }
                        }
                        else
                        {
                            Master.ReloadParentPage();
                            return false;
                        }
                    }
                }
                else if (ds1.Tables[0].Rows[0]["AppLev4Req"].ToString().Trim() == "True")
                {
                    //14
                    if ((ds1.Tables[0].Rows[0]["Approver1Status"].ToString().Trim() == "Approved") && (ds1.Tables[0].Rows[0]["Approver4Status"].ToString().Trim() == "Approved"))
                    {
                      if(UpdateApprovedRequest())
                        {
//done
                        }
                        else
                        {
                            return false;
                        }
                    }
                    else
                    {
                        return false;
                    }
                }
                else
                {
                    //1
                    if (ds1.Tables[0].Rows[0]["Approver1Status"].ToString().Trim() == "Approved")
                    {
                        if (UpdateApprovedRequest())
                        {
//done
                        }
                        else
                        {
                          return false;
                        }

                    }
                    else
                    {
                        return false;
                    }
                }

            }
            else if (ds1.Tables[0].Rows[0]["AppLev2Req"].ToString().Trim() == "True")
            {
                if (ds1.Tables[0].Rows[0]["AppLev3Req"].ToString().Trim() == "True")
                {
                    if (ds1.Tables[0].Rows[0]["AppLev4Req"].ToString().Trim() == "True")
                    {
                        //234
                        if ((ds1.Tables[0].Rows[0]["Approver2Status"].ToString().Trim() == "Approved") && (ds1.Tables[0].Rows[0]["Approver3Status"].ToString().Trim() == "Approved") && (ds1.Tables[0].Rows[0]["Approver4Status"].ToString().Trim() == "Approved"))
                        {
                            if (UpdateApprovedRequest())
                            {
//done
                            }
                            else
                            {
                                return false;
                            }

                        }
                        else
                        {
                            return false;
                        }
                    }
                    else
                    {
                        //23
                        if ((ds1.Tables[0].Rows[0]["Approver3Status"].ToString().Trim() == "Approved") && (ds1.Tables[0].Rows[0]["Approver2Status"].ToString().Trim() == "Approved"))
                        {
                            if (UpdateApprovedRequest())
                            {
   //done
                            }
                            else
                            {
                                return false;
                            }

                        }
                        else
                        {
                            return false;
                        }
                    }
                }
                else if (ds1.Tables[0].Rows[0]["AppLev4Req"].ToString().Trim() == "True")
                {
                    //24
                    if ((ds1.Tables[0].Rows[0]["Approver2Status"].ToString().Trim() == "Approved") && (ds1.Tables[0].Rows[0]["Approver4Status"].ToString().Trim() == "Approved"))
                    {
                        if (UpdateApprovedRequest())
                        {
//done
                        }
                        else
                        {
                            return false;
                        }

                    }
                    else
                    {
                        return false;
                    }
                }
                else
                {
                    //2
                    if (ds1.Tables[0].Rows[0]["Approver2Status"].ToString().Trim() == "Approved")
                    {
                        if (UpdateApprovedRequest())
                        {
//done
                        }
                        else
                        {
                            return false;
                        }

                    }
                    else
                    {                            return false;
                    }
                }
            }
            else if (ds1.Tables[0].Rows[0]["AppLev3Req"].ToString().Trim() == "True")
            {
                if (ds1.Tables[0].Rows[0]["AppLev4Req"].ToString().Trim() == "True")
                {
                    //34
                    if ((ds1.Tables[0].Rows[0]["Approver3Status"].ToString().Trim() == "Approved") && (ds1.Tables[0].Rows[0]["Approver4Status"].ToString().Trim() == "Approved"))
                    {
                        if (UpdateApprovedRequest())
                        {
//done
                        }
                        else
                        {
                            return false;
                        }

                    }
                    else
                    {
                        return false;
                    }
                }
                else
                {
                    //3
                    if (ds1.Tables[0].Rows[0]["Approver3Status"].ToString().Trim() == "Approved")
                    {
                        if (UpdateApprovedRequest())
                        {
                              //done
                        }
                        else
                        {
                            return false;
                        }

                    }
                    else
                    {
                        return false;
                    }
                }
            }
            else
            {
                //4
                if (ds1.Tables[0].Rows[0]["Approver4Status"].ToString().Trim() == "Approved")
                {
                    if (UpdateApprovedRequest())
                    {
                         //done
                    }
                    else
                    {
                        return false;
                    }
                }
                else
                {
                    return false;
                }
            }
            return true;
        }

thanks in advance .

Aucun commentaire:

Enregistrer un commentaire