修改挂单功能
This commit is contained in:
@@ -12,14 +12,16 @@ using static regionController;
|
||||
/// guadanOderController 的摘要描述
|
||||
/// </summary>
|
||||
[ezAuthorize]
|
||||
public class guadanOrderController: ApiController
|
||||
public class guadanOrderController : ApiController
|
||||
{
|
||||
private Model.ezEntities _db = new Model.ezEntities();
|
||||
[HttpGet]
|
||||
[Route("api/guadan/list")]
|
||||
public async Task<IHttpActionResult> getGuadanList()
|
||||
{
|
||||
var data = await _db.GuaDanOrder.OrderByDescending(b => b.CreatedAt)
|
||||
var data = await _db.GuaDanOrder
|
||||
.Where(a => a.IsCancel == false)
|
||||
.OrderByDescending(b => b.CreatedAt)
|
||||
.Select(a => new
|
||||
{
|
||||
uuid = a.Uuid,
|
||||
@@ -30,7 +32,10 @@ public class guadanOrderController: ApiController
|
||||
updated_at = a.UpdatedAt,
|
||||
notes = a.Notes,
|
||||
bookerName = a.BookerName,
|
||||
guest_count = _db.GuaDanOrderGuest.Where(c => c.GuaDanOrderNo == a.GuaDanOrderNo).Count(),
|
||||
guest_count = _db.GuaDanOrderGuest
|
||||
.Where(c => c.GuaDanOrderNo == a.GuaDanOrderNo && c.IsDeleted == false)
|
||||
.Where(c => c.RegionRoomBedStatus.Code != GuaDanOrderGuest.STATUS_CANCELLED)
|
||||
.Count(),
|
||||
}).ToListAsync();
|
||||
return Ok(data);
|
||||
}
|
||||
@@ -38,7 +43,10 @@ public class guadanOrderController: ApiController
|
||||
[Route("api/guadan/getorderbyid")]
|
||||
public async Task<IHttpActionResult> getGuadanOrderById(string orderId)
|
||||
{
|
||||
var order = await _db.GuaDanOrder.Where(a => a.GuaDanOrderNo == orderId).FirstOrDefaultAsync();
|
||||
var order = await _db.GuaDanOrder
|
||||
.Where(a => a.GuaDanOrderNo == orderId)
|
||||
.Where(a => a.IsCancel == false && a.IsDeleted == false)
|
||||
.FirstOrDefaultAsync();
|
||||
if (order == null)
|
||||
{
|
||||
return BadRequest("未找到对应订单");
|
||||
@@ -46,7 +54,7 @@ public class guadanOrderController: ApiController
|
||||
var result = new
|
||||
{
|
||||
order.admin,
|
||||
order.follower,
|
||||
order.followers,
|
||||
StartDate = order.StartDate?.ToString("yyyy-MM-dd"),
|
||||
EndDate = order.EndDate?.ToString("yyyy-MM-dd"),
|
||||
order.CreateUser,
|
||||
@@ -59,6 +67,8 @@ public class guadanOrderController: ApiController
|
||||
order.BookerPhone,
|
||||
order.IsDeleted,
|
||||
order.Uuid,
|
||||
order.ActivityNum,
|
||||
|
||||
};
|
||||
|
||||
return Ok(result);
|
||||
@@ -71,7 +81,7 @@ public class guadanOrderController: ApiController
|
||||
{
|
||||
return BadRequest("掛單資料不可為空");
|
||||
}
|
||||
if(model.Uuid.HasValue)
|
||||
if (model.Uuid.HasValue)
|
||||
{
|
||||
return BadRequest("已存在对应挂单资料");
|
||||
}
|
||||
@@ -99,6 +109,7 @@ public class guadanOrderController: ApiController
|
||||
BookerName = model.bookerName,
|
||||
BookerPhone = model.bookerPhone,
|
||||
Uuid = Guid.NewGuid(),
|
||||
ActivityNum = model.activityNum,
|
||||
};
|
||||
_db.GuaDanOrder.Add(guadanorder);
|
||||
await _db.SaveChangesAsync();
|
||||
@@ -138,12 +149,13 @@ public class guadanOrderController: ApiController
|
||||
order.Notes = model.note;
|
||||
order.BookerName = model.bookerName;
|
||||
order.BookerPhone = model.bookerPhone;
|
||||
order.ActivityNum = model.activityNum;
|
||||
await _db.SaveChangesAsync();
|
||||
return Ok(model);
|
||||
}
|
||||
[HttpPost]
|
||||
[Route("api/guadan/delete")]
|
||||
public async Task<IHttpActionResult> deleteGuadanOrder([FromUri] Guid uuid)
|
||||
[Route("api/guadan/cancel")]
|
||||
public async Task<IHttpActionResult> CancelGuadanOrder([FromUri] Guid uuid)
|
||||
{
|
||||
var guadan = await _db.GuaDanOrder.FindAsync(uuid);
|
||||
if (guadan == null)
|
||||
@@ -158,31 +170,27 @@ public class guadanOrderController: ApiController
|
||||
var guadanGuests = await _db.GuaDanOrderGuest
|
||||
.Where(a => a.GuaDanOrderNo == guadan.GuaDanOrderNo)
|
||||
.ToListAsync();
|
||||
var scheduleIds = _db.RegionAndRoomAndBedSchedule
|
||||
.Where(a => a.GuaDanOrderNo == guadan.GuaDanOrderNo)
|
||||
.Where( b => b.IsActive == true)
|
||||
.Select(c => c.GuaDanOrderNo)
|
||||
.ToList();
|
||||
if (guadanGuests.Any())
|
||||
{
|
||||
_db.GuaDanOrderGuest.RemoveRange(guadanGuests);
|
||||
foreach (var guest in guadanGuests)
|
||||
{
|
||||
guest.StatusCode = "404";
|
||||
// 取消所有相關的排程
|
||||
if (guest.RegionAndRoomAndBedSchedule != null && guest.RegionAndRoomAndBedSchedule.Any())
|
||||
{
|
||||
foreach (var schedule in guest.RegionAndRoomAndBedSchedule)
|
||||
{
|
||||
schedule.IsCancel = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
await _db.SaveChangesAsync();
|
||||
}
|
||||
|
||||
if (scheduleIds.Any())
|
||||
{
|
||||
var schedules = await _db.RegionAndRoomAndBedSchedule
|
||||
.Where(a => scheduleIds.Contains(a.GuaDanOrderNo))
|
||||
.ToListAsync();
|
||||
|
||||
if (schedules.Any())
|
||||
_db.RegionAndRoomAndBedSchedule.RemoveRange(schedules);
|
||||
}
|
||||
_db.GuaDanOrder.Remove(guadan);
|
||||
guadan.IsCancel = true;
|
||||
await _db.SaveChangesAsync();
|
||||
transaction.Commit();
|
||||
|
||||
return Ok(new { message = "删除成功" });
|
||||
return Ok(new { message = "取消成功" });
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -200,7 +208,6 @@ public class guadanOrderController: ApiController
|
||||
public int guest_id { get; set; }
|
||||
public DateTime start_date { get; set; }
|
||||
public DateTime? end_date { get; set; }
|
||||
public Guid? statusUuid { get; set; }
|
||||
public int? create_user { get; set; }
|
||||
public DateTime created_at { get; set; }
|
||||
public DateTime updated_at { get; set; }
|
||||
|
||||
Reference in New Issue
Block a user