Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
Education
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄奎
Education
Commits
cf6700d4
Commit
cf6700d4
authored
Mar 09, 2021
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增报价单
parent
3a344a6b
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
163 additions
and
9 deletions
+163
-9
QuestionHelper.cs
Edu.Common/Data/QuestionHelper.cs
+1
-1
RB_Course_Offer_ViewModel.cs
Edu.Model/ViewModel/Course/RB_Course_Offer_ViewModel.cs
+6
-1
CourseOfferModule.cs
Edu.Module.Course/CourseOfferModule.cs
+54
-4
RB_Course_OfferDetailsRepository.cs
Edu.Repository/Course/RB_Course_OfferDetailsRepository.cs
+12
-0
RB_Course_OfferRepository.cs
Edu.Repository/Course/RB_Course_OfferRepository.cs
+55
-1
CourseOfferController.cs
Edu.WebApi/Controllers/Course/CourseOfferController.cs
+35
-2
No files found.
Edu.Common/Data/QuestionHelper.cs
View file @
cf6700d4
...
...
@@ -209,7 +209,7 @@ namespace Edu.Common.Data
}
catch
(
Exception
ex
)
{
throw
new
Exception
(
);
Common
.
Plugin
.
LogHelper
.
Write
(
ex
,
"AnalysisQuestionTitle"
);
}
}
}
...
...
Edu.Model/ViewModel/Course/RB_Course_Offer_ViewModel.cs
View file @
cf6700d4
...
...
@@ -52,10 +52,15 @@ namespace Edu.Model.ViewModel.Course
public
string
CustomerSourceName
{
get
{
return
Common
.
Plugin
.
EnumHelper
.
ToName
(
this
.
CustomerSource
);
}
}
/// <summary>
/// 创建开始
/// 创建
时间--
开始
/// </summary>
public
string
QStart
{
get
;
set
;
}
/// <summary>
/// 创建时间--结束
/// </summary>
public
string
QEnd
{
get
;
set
;
}
/// <summary>
/// 报价单详情列表
/// </summary>
...
...
Edu.Module.Course/CourseOfferModule.cs
View file @
cf6700d4
using
Edu.Model.ViewModel.Course
;
using
Edu.AOP.CustomerAttribute
;
using
Edu.Model.ViewModel.Course
;
using
Edu.Repository.Course
;
using
System.Collections.Generic
;
using
System.Linq
;
using
VT.FW.DB
;
namespace
Edu.Module.Course
...
...
@@ -58,7 +60,8 @@ namespace Edu.Module.Course
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public
bool
SetCourseOfferModule
(
RB_Course_Offer_ViewModel
model
)
[
TransactionCallHandler
]
public
virtual
bool
SetCourseOfferModule
(
RB_Course_Offer_ViewModel
model
)
{
bool
flag
=
false
;
...
...
@@ -86,6 +89,52 @@ namespace Edu.Module.Course
model
.
Id
=
newId
;
flag
=
newId
>
0
;
}
#
region
报价单详情
var
oldOfferDetailsList
=
GetCourseOfferDetailsListModule
(
new
RB_Course_OfferDetails_ViewModel
()
{
OfferId
=
model
.
Id
});
//以前没有报价单信息【直接新增】
if
(
oldOfferDetailsList
==
null
||
(
oldOfferDetailsList
!=
null
&&
oldOfferDetailsList
.
Count
==
0
))
{
if
(
model
.
OfferDetails
!=
null
&&
model
.
OfferDetails
.
Count
>
0
)
{
foreach
(
var
item
in
model
.
OfferDetails
)
{
item
.
OfferId
=
model
.
Id
;
flag
=
course_OfferDetailsRepository
.
Insert
(
item
)
>
0
;
}
}
}
else
//以前有报价单详情
{
//现在没有报价单详情【直接删除以前的报价报价单详情】
if
(
model
.
OfferDetails
==
null
||
(
model
.
OfferDetails
!=
null
&&
model
.
OfferDetails
.
Count
==
0
))
{
course_OfferDetailsRepository
.
DeleteCourseOfferDetailsRepository
(
model
.
Id
);
}
//找出差异的数据
var
deleteList
=
oldOfferDetailsList
.
Where
(
qitem
=>
!
model
.
OfferDetails
.
Any
(
oldItem
=>
qitem
.
DetailsId
==
oldItem
.
DetailsId
)).
ToList
();
foreach
(
var
dItem
in
deleteList
)
{
if
(
dItem
.
DetailsId
>
0
)
{
course_OfferDetailsRepository
.
Delete
(
dItem
.
DetailsId
);
}
}
foreach
(
var
offerItem
in
model
.
OfferDetails
)
{
offerItem
.
OfferId
=
model
.
Id
;
if
(
offerItem
.
DetailsId
==
0
)
{
course_OfferDetailsRepository
.
Insert
(
offerItem
);
}
else
{
course_OfferDetailsRepository
.
Update
(
offerItem
);
}
}
}
#
endregion
return
flag
;
}
...
...
@@ -97,10 +146,11 @@ namespace Edu.Module.Course
public
RB_Course_Offer_ViewModel
GetCourseOfferModule
(
object
Id
)
{
var
model
=
course_OfferRepository
.
GetEntity
<
RB_Course_Offer_ViewModel
>(
Id
);
if
(
model
=
=
null
)
if
(
model
!
=
null
)
{
model
=
new
RB_Course_Offer_ViewModel
(
);
model
.
OfferDetails
=
GetCourseOfferDetailsListModule
(
new
RB_Course_OfferDetails_ViewModel
()
{
OfferId
=
model
.
Id
}
);
}
return
model
;
}
...
...
Edu.Repository/Course/RB_Course_OfferDetailsRepository.cs
View file @
cf6700d4
...
...
@@ -48,5 +48,17 @@ WHERE 1=1
}
return
Get
<
RB_Course_OfferDetails_ViewModel
>(
builder
.
ToString
(),
parameters
).
ToList
();
}
/// <summary>
/// 根据报价单编号删除报价单详情
/// </summary>
/// <param name="OfferId"></param>
/// <returns></returns>
public
bool
DeleteCourseOfferDetailsRepository
(
int
OfferId
)
{
StringBuilder
builder
=
new
StringBuilder
();
builder
.
AppendFormat
(
" DELETE FROM RB_Course_OfferDetails WHERE OfferId IN({0}) "
,
OfferId
);
return
base
.
Execute
(
builder
.
ToString
())
>
0
;
}
}
}
Edu.Repository/Course/RB_Course_OfferRepository.cs
View file @
cf6700d4
...
...
@@ -52,7 +52,41 @@ WHERE 1=1
builder
.
AppendFormat
(
" AND A.{0} LIKE @Name "
,
nameof
(
RB_Course_Offer_ViewModel
.
Name
));
parameters
.
Add
(
"Name"
,
"%"
+
query
.
Name
.
Trim
()
+
"%"
);
}
if
(
query
.
CreateBy
>
0
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Course_Offer_ViewModel
.
CreateBy
),
query
.
CreateBy
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
CustomerInfo
))
{
builder
.
AppendFormat
(
" AND A.{0} LIKE @CustomerInfo "
,
nameof
(
RB_Course_Offer_ViewModel
.
CustomerInfo
));
parameters
.
Add
(
"CustomerInfo"
,
"%"
+
query
.
CustomerInfo
.
Trim
()
+
"%"
);
}
if
(
query
.
CustomerSource
>
0
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Course_Offer_ViewModel
.
CustomerSource
),
(
int
)
query
.
CustomerSource
);
}
if
(
query
.
CustomerType
>
0
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Course_Offer_ViewModel
.
CustomerType
),
(
int
)
query
.
CustomerType
);
}
if
(
query
.
CustomerStatus
>
0
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Course_Offer_ViewModel
.
CustomerStatus
),
query
.
CustomerStatus
);
}
if
(
query
.
Id
>
0
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Course_Offer_ViewModel
.
Id
),
query
.
Id
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
QStart
))
{
builder
.
AppendFormat
(
" AND A.{0}>='{1}' "
,
nameof
(
RB_Course_Offer_ViewModel
.
CreateTime
),
query
.
QStart
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
QEnd
))
{
builder
.
AppendFormat
(
" AND A.{0}<='{1} 23:59:59' "
,
nameof
(
RB_Course_Offer_ViewModel
.
CreateTime
),
query
.
QEnd
);
}
}
builder
.
AppendFormat
(
" ORDER BY A.{0} DESC "
,
nameof
(
RB_Course_Offer_ViewModel
.
Id
));
return
GetPage
<
RB_Course_Offer_ViewModel
>(
pageIndex
,
pageSize
,
out
rowsCount
,
builder
.
ToString
(),
parameters
).
ToList
();
}
...
...
@@ -90,7 +124,27 @@ WHERE 1=1
builder
.
AppendFormat
(
" AND A.{0} LIKE @Name "
,
nameof
(
RB_Course_Offer_ViewModel
.
Name
));
parameters
.
Add
(
"Name"
,
"%"
+
query
.
Name
.
Trim
()
+
"%"
);
}
if
(
query
.
CreateBy
>
0
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Course_Offer_ViewModel
.
CreateBy
),
query
.
CreateBy
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
CustomerInfo
))
{
builder
.
AppendFormat
(
" AND A.{0} LIKE @CustomerInfo "
,
nameof
(
RB_Course_Offer_ViewModel
.
CustomerInfo
));
parameters
.
Add
(
"CustomerInfo"
,
"%"
+
query
.
CustomerInfo
.
Trim
()
+
"%"
);
}
if
(
query
.
CustomerSource
>
0
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Course_Offer_ViewModel
.
CustomerSource
),
(
int
)
query
.
CustomerSource
);
}
if
(
query
.
CustomerType
>
0
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Course_Offer_ViewModel
.
CustomerType
),
(
int
)
query
.
CustomerType
);
}
if
(
query
.
CustomerStatus
>
0
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Course_Offer_ViewModel
.
CustomerStatus
),
query
.
CustomerStatus
);
}
}
return
Get
<
RB_Course_Offer_ViewModel
>(
builder
.
ToString
(),
parameters
).
ToList
();
}
...
...
Edu.WebApi/Controllers/Course/CourseOfferController.cs
View file @
cf6700d4
...
...
@@ -8,6 +8,7 @@ using Edu.WebApi.Filter;
using
Microsoft.AspNetCore.Cors
;
using
Microsoft.AspNetCore.Mvc
;
using
System
;
using
System.Collections.Generic
;
namespace
Edu.WebApi.Controllers.Course
{
...
...
@@ -37,6 +38,13 @@ namespace Edu.WebApi.Controllers.Course
var
query
=
new
RB_Course_Offer_ViewModel
()
{
Name
=
base
.
ParmJObj
.
GetStringValue
(
"Name"
),
CreateBy
=
base
.
ParmJObj
.
GetInt
(
"CreateBy"
),
QStart
=
base
.
ParmJObj
.
GetStringValue
(
"QStart"
),
QEnd
=
base
.
ParmJObj
.
GetStringValue
(
"QEnd"
),
CustomerInfo
=
base
.
ParmJObj
.
GetStringValue
(
"CustomerInfo"
),
CustomerSource
=
(
CustomerSourceEnum
)
base
.
ParmJObj
.
GetInt
(
"CustomerSource"
),
CustomerType
=
(
CustomerTypeEnum
)
base
.
ParmJObj
.
GetInt
(
"CustomerType"
),
CustomerStatus
=
base
.
ParmJObj
.
GetInt
(
"CustomerStatus"
)
};
query
.
Group_Id
=
base
.
UserInfo
.
Group_Id
;
query
.
School_Id
=
base
.
UserInfo
.
School_Id
;
...
...
@@ -79,7 +87,7 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
SetCourse
Category
()
public
ApiResult
SetCourse
Offer
()
{
var
extModel
=
new
RB_Course_Offer_ViewModel
()
{
...
...
@@ -94,6 +102,14 @@ namespace Edu.WebApi.Controllers.Course
TotalDiscountPrice
=
base
.
ParmJObj
.
GetDecimal
(
"TotalDiscountPrice"
),
CustomerInfo
=
base
.
ParmJObj
.
GetStringValue
(
"CustomerInfo"
),
};
try
{
extModel
.
OfferDetails
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
RB_Course_OfferDetails_ViewModel
>>(
base
.
ParmJObj
.
GetStringValue
(
"OfferDetails"
));
}
catch
(
Exception
ex
)
{
Common
.
Plugin
.
LogHelper
.
Write
(
ex
,
"SetCourseCategory"
);
}
extModel
.
CustomerStatus
=
1
;
extModel
.
CreateTime
=
DateTime
.
Now
;
extModel
.
CreateBy
=
UserInfo
.
Id
;
...
...
@@ -115,7 +131,24 @@ namespace Edu.WebApi.Controllers.Course
{
var
Id
=
base
.
ParmJObj
.
GetInt
(
"Id"
,
0
);
var
extModel
=
courseOfferModule
.
GetCourseOfferModule
(
Id
);
return
ApiResult
.
Success
(
data
:
extModel
);
var
obj
=
new
{
extModel
?.
Id
,
extModel
?.
Name
,
EffectiveStart
=
extModel
?.
EffectiveStartStr
,
EffectiveEnd
=
extModel
?.
EffectiveEndStr
,
extModel
?.
CustomerType
,
extModel
?.
CustomerSource
,
extModel
?.
TotalOriginalPrice
,
extModel
?.
TotalPrice
,
extModel
?.
TotalDiscountPrice
,
extModel
?.
CustomerInfo
,
extModel
?.
CustomerStatus
,
extModel
?.
CreateBy
,
extModel
?.
CreateByName
,
OfferDetails
=
extModel
?.
OfferDetails
??
new
List
<
RB_Course_OfferDetails_ViewModel
>()
};
return
ApiResult
.
Success
(
data
:
obj
);
}
/// <summary>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment