public async Task <string> SaveStatesAsync(utblMstState model)
        {
            try
            {
                if (model.StateID == 0)
                {
                    objDB.utblMstStates.Add(model);
                    await objDB.SaveChangesAsync();

                    return("New State Added");
                }
                else
                {
                    utblMstState curState = await objDB.utblMstStates.FindAsync(model.StateID);

                    curState.CountryID = model.CountryID;
                    curState.StateName = model.StateName;
                    await objDB.SaveChangesAsync();

                    return("State Details Updated");
                }
            }
            catch (Exception ex)
            {
                return("Error: " + ex.Message);
            }
        }
        public async Task <string> DeleteStateAsync(long id)
        {
            try
            {
                utblMstState curObj = await objDB.utblMstStates.FindAsync(id);

                objDB.utblMstStates.Remove(curObj);
                await objDB.SaveChangesAsync();

                return("State Details Removed");
            }
            catch (SqlException ex)
            {
                if (ex.Errors.Count > 0) // Assume the interesting stuff is in the first error
                {
                    switch (ex.Errors[0].Number)
                    {
                    case 547:     // Foreign Key violation
                        return("This record has dependencies on other records, so cannot be removed.");

                    default:
                        return("Error: " + ex.Message);
                    }
                }
                return("Error while operation. Error Message: " + ex.Message);
            }
            catch (Exception ex)
            {
                return("Error: " + ex.Message);
            }
        }
        public async Task <string> SaveState(utblMstState model)
        {
            if (ModelState.IsValid)
            {
                return(await objDal.SaveStatesAsync(model));
            }
            string messages = string.Join("; ", ModelState.Values
                                          .SelectMany(x => x.Errors)
                                          .Select(x => x.ErrorMessage));

            return("Operation Error: " + messages);
        }