Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
            }
        }