public async Task <string> DeleteTourCancelAsync(long CancellationID)
        {
            try
            {
                utblMstTourCancellation curObj = await objDB.utblMstTourCancellations.FindAsync(CancellationID);

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

                return("Tour Cancellation 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 <utblMstTourCancellation> GetTourCancelByIDAsync(long id)
        {
            utblMstTourCancellation obj = new utblMstTourCancellation();

            obj = await objDB.utblMstTourCancellations.Where(x => x.CancellationID == id).FirstOrDefaultAsync();

            return(obj);
        }
        public async Task <string> SaveTourCancel(utblMstTourCancellation model)
        {
            if (ModelState.IsValid)
            {
                return(await objDal.SaveTourCancelAsync(model));
            }
            string messages = string.Join("; ", ModelState.Values
                                          .SelectMany(x => x.Errors)
                                          .Select(x => x.ErrorMessage));

            return("Operation Error: " + messages);
        }
        public async Task <string> SaveTourCancelAsync(utblMstTourCancellation model)
        {
            try
            {
                var parPID   = new SqlParameter("@CancellationID", model.CancellationID);
                var parIName = new SqlParameter("@CancellationDesc", model.CancellationDesc);

                return(await objDB.Database.SqlQuery <string>("udspMstTourCancelAddEdit @CancellationID, @CancellationDesc",
                                                              parPID, parIName).FirstOrDefaultAsync());
            }
            catch (Exception ex)
            {
                return("Error: " + ex.Message);
            }
        }