public TableCreateDTO GetModel(int id) { using (var db = new SqlSugarClient(Connection)) { TableCreateDTO model = db.Queryable <R_Table>() .JoinTable <R_BoxTable>((s1, s2) => s1.Id == s2.R_Table_Id) .Where <R_Table>((s1) => s1.Id == id) .Select <R_Table, R_BoxTable, TableCreateDTO>((s1, s2) => new TableCreateDTO { Id = s1.Id, Name = s1.Name, Description = s1.Describe, RestaurantId = s1.R_Restaurant_Id, RestaurantArea = s1.R_Area_Id, ServerRate = s1.ServerRate, CythStatus = s1.CythStatus, SeatNum = s1.SeatNum, Box = s2.R_Box_Id, IsVirtual = s1.IsVirtual, Sorted = s1.Sorted }) .FirstOrDefault(); return(model); } }
public ActionResult Edit(TableCreateDTO req) { Response res = new Response(); if (ModelState.IsValid) { try { if (req.Id > 0) { res.Data = _tableRepository.Update(req); } else { res.Data = _tableRepository.Create(req); } } catch (Exception ex) { res.Message = ex.Message; } } else { res.Data = false; res.Message = string.Join(",", ModelState .SelectMany(ms => ms.Value.Errors) .Select(e => e.ErrorMessage)); } return(Json(res, JsonRequestBehavior.AllowGet)); }
public bool Create(TableCreateDTO req) { using (var db = new SqlSugarClient(Connection)) { bool result = true; try { db.BeginTran(); R_Table model = new R_Table() { Name = req.Name, Describe = req.Description, R_Restaurant_Id = req.RestaurantId, ServerRate = req.ServerRate, R_Area_Id = req.RestaurantArea, CythStatus = CythStatus.空置, SeatNum = req.SeatNum, IsVirtual = req.IsVirtual, Sorted = req.Sorted }; var insert = db.Insert(model); if (req.Box > 0) { db.Insert(new R_BoxTable() { R_Table_Id = Convert.ToInt32(insert), R_Box_Id = req.Box }); } db.CommitTran(); } catch (Exception) { result = false; db.RollbackTran(); throw; } return(result); } }
public bool Update(TableCreateDTO req) { using (var db = new SqlSugarClient(Connection)) { bool result = true; try { db.BeginTran(); R_Table model = db.Queryable <R_Table>().First(p => p.Id == req.Id); model.Name = req.Name; model.Describe = req.Description; model.R_Restaurant_Id = req.RestaurantId; model.ServerRate = req.ServerRate; model.R_Area_Id = req.RestaurantArea; model.SeatNum = req.SeatNum; model.IsVirtual = req.IsVirtual; model.Sorted = req.Sorted; result = db.Update(model); var cybxth = db.Queryable <R_BoxTable>() .Where(p => p.R_Table_Id == model.Id) .FirstOrDefault(); if (req.Box > 0) { if (cybxth != null) { if (cybxth.R_Box_Id != req.Box) { cybxth.R_Box_Id = req.Box; db.Update <R_BoxTable>(cybxth); } } else { db.Insert <R_BoxTable>(new R_BoxTable() { R_Table_Id = model.Id, R_Box_Id = req.Box }); } } else { if (cybxth != null) { db.Delete <R_BoxTable>(p => p.Id == cybxth.Id); } } db.CommitTran(); } catch (Exception) { db.RollbackTran(); result = false; throw; } return(result); } }