public IActionResult SaveGenerateIdMaster(GenerateIdDTO _GenerateIdDTO)
        {
            bool isSaved = false;

            try
            {
                isSaved = obj.SaveGenerateIdMaster(_GenerateIdDTO, Con);
                return(Ok(isSaved));
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));

                throw new FinstaAppException(ex.ToString());
            }
        }
        public bool SaveGenerateIdMaster(GenerateIdDTO _GenerateIdDTO, string ConnectionString)
        {
            NpgsqlConnection  con            = null;
            NpgsqlTransaction trans          = null;
            string            tablename      = string.Empty;
            string            columnname     = string.Empty;
            string            concolunname   = string.Empty;
            string            datecolumnname = string.Empty;
            bool          IsSaved            = false;
            string        finanicalyear      = string.Empty;
            string        normalyear         = string.Empty;
            StringBuilder sbQuery            = new StringBuilder();

            try
            {
                con = new NpgsqlConnection(ConnectionString);
                if (con.State != ConnectionState.Open)
                {
                    con.Open();
                }
                trans = con.BeginTransaction();
                if (_GenerateIdDTO.pGenerateidMasterlist != null)
                {
                    for (int i = 0; i < _GenerateIdDTO.pGenerateidMasterlist.Count; i++)
                    {
                        if (_GenerateIdDTO.pGenerateidMasterlist[i].pSericeReset == "Financial Year")
                        {
                            finanicalyear = "Y";
                            normalyear    = "N";
                        }
                        if (_GenerateIdDTO.pGenerateidMasterlist[i].pSericeReset == "Calendar Year")
                        {
                            normalyear    = "Y";
                            finanicalyear = "N";
                        }
                        else
                        {
                            finanicalyear = "N";
                            normalyear    = "N";
                        }

                        if (string.IsNullOrEmpty(_GenerateIdDTO.pGenerateidMasterlist[i].pFieldname))
                        {
                            NpgsqlDataReader dr = NPGSqlHelper.ExecuteReader(trans, CommandType.Text, "select formname,filedname,code,tablename,columnname,concolunname,datecolumnname from tabgenerateidmaster where upper(formname)='" + _GenerateIdDTO.pGenerateidMasterlist[i].pFormName.ToUpper() + "' and status='Y'", null);
                            while (dr.Read())
                            {
                                if (dr != null)
                                {
                                    tablename      = Convert.ToString(dr["tablename"]);
                                    columnname     = Convert.ToString(dr["columnname"]);
                                    concolunname   = Convert.ToString(dr["concolunname"]);
                                    datecolumnname = Convert.ToString(dr["datecolumnname"]);
                                }
                            }
                        }
                        else
                        {
                            NpgsqlDataReader dr = NPGSqlHelper.ExecuteReader(trans, CommandType.Text, "select formname,filedname,code,tablename,columnname,concolunname,datecolumnname from tabgenerateidmaster where upper(formname)='" + _GenerateIdDTO.pGenerateidMasterlist[i].pFormName.ToUpper() + "' and upper(filedname)='" + _GenerateIdDTO.pGenerateidMasterlist[i].pFieldname.ToUpper() + "' and status='Y'", null);
                            while (dr.Read())
                            {
                                if (dr != null)
                                {
                                    tablename      = Convert.ToString(dr["tablename"]);
                                    columnname     = Convert.ToString(dr["columnname"]);
                                    concolunname   = Convert.ToString(dr["concolunname"]);
                                    datecolumnname = Convert.ToString(dr["datecolumnname"]);
                                }
                            }
                        }
                        sbQuery.Append("update tabgenerateidmaster set status='N' where recordid=" + _GenerateIdDTO.pGenerateidMasterlist[i].pRecordid + ";");

                        sbQuery.Append("insert into tabgenerateidmaster(Formname,filedname,code,serice,tablename,columnname,concolunname,datecolumnname,finanicalyear,normalyear,status)values('" + ManageQuote(_GenerateIdDTO.pGenerateidMasterlist[i].pFormName.ToUpper()) + "','" + ManageQuote(_GenerateIdDTO.pGenerateidMasterlist[i].pFieldname) + "','" + ManageQuote(_GenerateIdDTO.pGenerateidMasterlist[i].pTransactionCode.ToUpper()) + "','" + ManageQuote(_GenerateIdDTO.pGenerateidMasterlist[i].pTransactionSerice) + "','" + ManageQuote(tablename) + "','" + ManageQuote(columnname) + "','" + ManageQuote(concolunname) + "','" + ManageQuote(datecolumnname) + "','" + ManageQuote(finanicalyear) + "','" + ManageQuote(normalyear) + "','Y');");
                    }
                    if (!string.IsNullOrEmpty(sbQuery.ToString()))
                    {
                        NPGSqlHelper.ExecuteNonQuery(trans, CommandType.Text, sbQuery.ToString());
                    }
                    trans.Commit();
                    IsSaved = true;
                }
            }
            catch (Exception ex)
            {
                trans.Rollback();
                throw ex;
            }
            finally
            {
                if (con.State == ConnectionState.Open)
                {
                    con.Dispose();
                    con.Close();
                    con.ClearPool();
                    trans.Dispose();
                }
            }
            return(IsSaved);
        }