public async Task <string> SaveExclusionTerms(PackageExcTermSaveModel model) { if (ModelState.IsValid) { return(await objPack.SavePackageExcTermsAsync(model)); } string messages = string.Join("; ", ModelState.Values .SelectMany(x => x.Errors) .Select(x => x.ErrorMessage)); return("Operation Error: " + messages); }
public async Task <string> SavePackageExcTermsAsync(PackageExcTermSaveModel model) { try { var parPackID = new SqlParameter("@PackageID", model.PackageID); ConvertListToDT objList = new ConvertListToDT(); DataTable excdt = new DataTable(); DataTable termdt = new DataTable(); DataTable candt = new DataTable(); //Converting subject list to datatable if record is present else send empty datatable if (model.Exclusions != null) { excdt = objList.ConvertIEnumerableToDataTable(model.Exclusions); } else { if (excdt.Columns.Count == 0) { DataColumn col = new DataColumn(); col.ColumnName = "PackageExclusionID"; excdt.Columns.Add(col); DataColumn col1 = new DataColumn(); col1.ColumnName = "PackageID"; excdt.Columns.Add(col1); DataColumn col2 = new DataColumn(); col2.ColumnName = "ExclusionID"; excdt.Columns.Add(col2); } } var parExDT = new SqlParameter("@ExclusionTable", excdt); parExDT.SqlDbType = SqlDbType.Structured; parExDT.TypeName = "dbo.ExclusionType"; if (model.Terms != null) { termdt = objList.ConvertIEnumerableToDataTable(model.Terms); } else { if (termdt.Columns.Count == 0) { DataColumn col = new DataColumn(); col.ColumnName = "PackageTermsID"; termdt.Columns.Add(col); DataColumn col1 = new DataColumn(); col1.ColumnName = "PackageID"; termdt.Columns.Add(col1); DataColumn col2 = new DataColumn(); col2.ColumnName = "TermID"; termdt.Columns.Add(col2); } } var parTermDT = new SqlParameter("@TermTable", termdt); parTermDT.SqlDbType = SqlDbType.Structured; parTermDT.TypeName = "dbo.TermType"; if (model.Cancellations != null) { candt = objList.ConvertIEnumerableToDataTable(model.Cancellations); } else { if (candt.Columns.Count == 0) { DataColumn col = new DataColumn(); col.ColumnName = "PackageCancID"; candt.Columns.Add(col); DataColumn col1 = new DataColumn(); col1.ColumnName = "PackageID"; candt.Columns.Add(col1); DataColumn col2 = new DataColumn(); col2.ColumnName = "CancellationID"; candt.Columns.Add(col2); } } var parCanDT = new SqlParameter("@CancellationTable", candt); parCanDT.SqlDbType = SqlDbType.Structured; parCanDT.TypeName = "dbo.CancellationType"; return(await db.Database.SqlQuery <string>("udspTourPackageExclusionTermSave @PackageID, @ExclusionTable, @TermTable, @CancellationTable", parPackID, parExDT, parTermDT, parCanDT).FirstOrDefaultAsync()); } catch (Exception ex) { return("Error: " + ex.Message); } }