public HttpResponseMessage GetTransproLanguagePriceCategoryList(TransproLanguagePriceCategoryQueryModel model)
        {
            HttpResponseMessage response;
            List <TransproLanguagePriceCategoryModel> DataList;

            try
            {
                if (this.ModelState.IsValid == true)
                {
                    DataList = _tlpService.GetTransproLanguagePriceCategoryList(model);
                    if (DataList != null)
                    {
                        response = Request.CreateResponse(HttpStatusCode.OK, DataList);
                    }
                    else
                    {
                        string message = "Error while retriving TransproLanguagePriceCategory list";
                        response = Request.CreateResponse(HttpStatusCode.Forbidden, message);
                    }
                }
                else
                {
                    response = Request.CreateResponse(HttpStatusCode.BadRequest, this.ModelState);
                }
            }
            catch (Exception ex)
            {
                response = Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message);
            }
            return(response);
        }
        /*******************************************************************************************************************************
        * *****************************************************************************************************************************
        * *****************************************************************************************************************************
        * *****************************************************************************************************************************/


        public List <TransproLanguagePriceCategoryModel> DeleteTransproLanguagePriceCategory(TransproLanguagePriceCategoryModel PriceCategoryModel)
        {
            SqlCommand cmd;

            try
            {
                _sqlConnService.OpenConnection();

                cmd             = new SqlCommand("SP_SaveDeleteTransproLanguagePriceDetails", _sqlConnService.CreateConnection());
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@PriceCategoryID", PriceCategoryModel.ID);
                cmd.Parameters.AddWithValue("@StatementType", "DeleteByPriceCategoryID");
                cmd.ExecuteNonQuery();

                cmd             = new SqlCommand("SP_SaveDeleteTransproLanguagePriceCategory", _sqlConnService.CreateConnection());
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@ID", PriceCategoryModel.ID);
                cmd.Parameters.AddWithValue("@StatementType", "Delete");
                cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                IErrorLogService errorLog = new ErrorLogService();
                string           message  = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                errorLog.SetErrorLog(PriceCategoryModel.CurrentUserID, "Transpro", message);
                throw new Exception(message);
            }
            finally
            {
                _sqlConnService.CloseConnection();
            }

            TransproLanguagePriceCategoryQueryModel BaseModel = new TransproLanguagePriceCategoryQueryModel();

            BaseModel.CurrentCulture = PriceCategoryModel.CurrentCulture;
            BaseModel.CurrentUserID  = PriceCategoryModel.CurrentUserID;
            return(this.GetTransproLanguagePriceCategoryList(BaseModel));
        }
        public List <TransproLanguagePriceCategoryModel> GetTransproLanguagePriceCategoryList(TransproLanguagePriceCategoryQueryModel model)
        {
            SqlCommand    cmd;
            SqlDataReader DataReader;
            TransproLanguagePriceCategoryModel        CategoryModel;
            List <TransproLanguagePriceCategoryModel> CategoryList = new List <TransproLanguagePriceCategoryModel>();
            BaseViewModel BaseModel = new BaseViewModel();

            try
            {
                _sqlConnService.OpenConnection();
                cmd             = new SqlCommand("SP_GetTransproLanguagePriceCategory", _sqlConnService.CreateConnection());
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@SourceLanguageID", model.GetSourceLanguageID());
                cmd.Parameters.AddWithValue("@TargetLanguageID", model.GetTargetLanguageID());
                cmd.Parameters.AddWithValue("@SpecialityFieldID", model.GetSpecialityFieldID());
                cmd.Parameters.AddWithValue("@SubSpecialityFieldID", model.GetSubSpecilityFieldID());
                cmd.Parameters.AddWithValue("@CultureId", model.CurrentCulture);
                DataReader = cmd.ExecuteReader();
                while (DataReader.Read() == true)
                {
                    CategoryModel    = new TransproLanguagePriceCategoryModel();
                    CategoryModel.ID = Guid.Parse(DataReader["ID"].ToString());
                    CategoryModel.SourceLanguageID        = Guid.Parse(DataReader["SourceLanguageID"].ToString());
                    CategoryModel.TargetLanguageID        = Guid.Parse(DataReader["TargetLanguageID"].ToString());
                    CategoryModel.SpecialityFieldID       = Guid.Parse(DataReader["SpecialityFieldID"].ToString());
                    CategoryModel.SubSpecialityFieldID    = Guid.Parse(DataReader["SubSpecialityFieldID"].ToString());
                    CategoryModel.CurrencyID              = Convert.ToInt64(DataReader["CurrencyID"].ToString());
                    CategoryModel.SourceLanguageName      = DataReader["SourceLanguageName"].ToString();
                    CategoryModel.TargetLanguageName      = DataReader["TargetLanguageName"].ToString();
                    CategoryModel.CurrencyName            = DataReader["CurrencyName"].ToString();
                    CategoryModel.CurrencySymbol          = DataReader["CurrencySymbol"].ToString();
                    CategoryModel.SpecializedFieldName    = DataReader["SpecializedFieldName"].ToString();
                    CategoryModel.SubSpecializedFieldName = DataReader["SubSpecializedFieldName"].ToString();
                    CategoryModel.Description             = DataReader["Description"].ToString();
                    CategoryModel.WordPerPage             = Convert.ToInt64(DataReader["WordPerPage"].ToString());
                    CategoryModel.IsLightPrice            = Convert.ToBoolean(DataReader["IsLightPrice"].ToString());
                    CategoryModel.IsBusinessPrice         = Convert.ToBoolean(DataReader["IsBusinessPrice"].ToString());
                    CategoryModel.IsExpertPrice           = Convert.ToBoolean(DataReader["IsExpertPrice"].ToString());
                    CategoryModel.IsActive         = Convert.ToBoolean(DataReader["IsActive"].ToString());
                    CategoryModel.IsDeleted        = Convert.ToBoolean(DataReader["IsDeleted"].ToString());
                    CategoryModel.CurrentUserID    = model.CurrentUserID;
                    CategoryModel.CurrentCulture   = model.CurrentCulture;
                    BaseModel.CurrentCulture       = model.CurrentCulture;
                    BaseModel.CurrentUserID        = model.CurrentUserID;
                    CategoryModel.PriceDetailsList = this.GetTransproLanguagePriceDetailsList(BaseModel, CategoryModel.ID.ToString());
                    CategoryList.Add(CategoryModel);
                }
                DataReader.Close();
            }
            catch (Exception ex)
            {
                IErrorLogService errorLog = new ErrorLogService();
                string           message  = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                errorLog.SetErrorLog(model.CurrentUserID, "Transpro", message);
                throw new Exception(message);
            }
            finally
            {
                _sqlConnService.CloseConnection();
            }
            return(CategoryList);
        }
        public List <TransproLanguagePriceCategoryModel> SaveTransproLanguagePriceCategory(TransproLanguagePriceCategoryModel model)
        {
            SqlCommand cmd, cmd2;
            Guid       PriceCategoryID;
            string     StatementType;

            try
            {
                _sqlConnService.OpenConnection();
                cmd             = new SqlCommand("SP_SaveDeleteTransproLanguagePriceCategory", _sqlConnService.CreateConnection());
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@SourceLanguageID", model.SourceLanguageID);
                cmd.Parameters.AddWithValue("@TargetLanguageID", model.TargetLanguageID);
                cmd.Parameters.AddWithValue("@SpecialityFieldID", model.SpecialityFieldID);
                cmd.Parameters.AddWithValue("@SubSpecialityFieldID", model.SubSpecialityFieldID);
                cmd.Parameters.AddWithValue("@Description_" + model.CurrentCulture, model.Description);
                cmd.Parameters.AddWithValue("@WordPerPage", model.WordPerPage);
                cmd.Parameters.AddWithValue("@CurrencyID", model.CurrencyID);
                cmd.Parameters.AddWithValue("@IsLightPrice", model.IsLightPrice);
                cmd.Parameters.AddWithValue("@IsBusinessPrice", model.IsBusinessPrice);
                cmd.Parameters.AddWithValue("@IsExpertPrice", model.IsExpertPrice);
                cmd.Parameters.AddWithValue("@IsActive", model.IsActive);
                cmd.Parameters.AddWithValue("@IsDeleted", model.IsDeleted);

                if (model.ID == Guid.Empty)
                {
                    PriceCategoryID = Guid.NewGuid();
                    model.ID        = PriceCategoryID;
                    StatementType   = "Insert";
                }
                else
                {
                    PriceCategoryID = model.ID;
                    StatementType   = "Update";
                }
                cmd.Parameters.AddWithValue("@ID", PriceCategoryID);
                cmd.Parameters.AddWithValue("@StatementType", StatementType);
                cmd.ExecuteNonQuery();

                foreach (TransproLanguagePriceDetailsModel PriceDetailsModel in model.PriceDetailsList)
                {
                    cmd2             = new SqlCommand("SP_SaveDeleteTransproLanguagePriceDetails", _sqlConnService.CreateConnection());
                    cmd2.CommandType = CommandType.StoredProcedure;
                    cmd2.Parameters.AddWithValue("@PriceCategoryID", PriceCategoryID);
                    cmd2.Parameters.AddWithValue("@DeliveryPlanID", PriceDetailsModel.DeliveryPlanID);
                    cmd2.Parameters.AddWithValue("@LightPrice", PriceDetailsModel.LightPrice);
                    cmd2.Parameters.AddWithValue("@BusinessPrice", PriceDetailsModel.BusinessPrice);
                    cmd2.Parameters.AddWithValue("@ExpertPrice", PriceDetailsModel.ExpertPrice);
                    cmd2.Parameters.AddWithValue("@IsDefaultForView", PriceDetailsModel.IsDefaultForView);
                    cmd2.Parameters.AddWithValue("@SortBy", PriceDetailsModel.SortBy);

                    if (PriceDetailsModel.IsMarkedForDelete == true)
                    {
                        StatementType = "Delete";
                    }
                    else if (PriceDetailsModel.ID == Guid.Empty)
                    {
                        PriceDetailsModel.ID = Guid.NewGuid();
                        StatementType        = "Insert";
                    }
                    else
                    {
                        StatementType = "Update";
                    }
                    cmd2.Parameters.AddWithValue("@ID", PriceDetailsModel.ID);
                    cmd2.Parameters.AddWithValue("@StatementType", StatementType);
                    cmd2.ExecuteNonQuery();
                }
            }
            catch (Exception ex)
            {
                IErrorLogService errorLog = new ErrorLogService();
                string           message  = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                errorLog.SetErrorLog(model.CurrentUserID, "Transpro", message);
                throw new Exception(message);
            }
            finally
            {
                _sqlConnService.CloseConnection();
            }

            TransproLanguagePriceCategoryQueryModel BaseModel = new TransproLanguagePriceCategoryQueryModel();

            BaseModel.CurrentCulture = model.CurrentCulture;
            BaseModel.CurrentUserID  = model.CurrentUserID;
            return(this.GetTransproLanguagePriceCategoryList(BaseModel));
        }