public Model.Employee InsertOrUpdate(Model.Employee employee) { using (var context = new DataModelDataContext()) { Employee target = null; if (employee.Id != Guid.Empty) { target = context.Employees.SingleOrDefault(e => e.Id == employee.Id); if (target == null) { return(null); } } else { target = new Employee { Id = Guid.NewGuid(), }; context.Employees.InsertOnSubmit(target); } target.Name = employee.Name; target.RoleId = employee.RoleId; context.SubmitChanges(); employee.Id = target.Id; return(employee); } }
public Model.Order InsertOrUpdate(Model.Order order) { using (var context = new DataModelDataContext()) { Order target = null; if (order.Id != Guid.Empty) { target = context.Orders.SingleOrDefault(e => e.Id == order.Id); if (target == null) { return(null); } target.State = order.State; } else { target = new Order { Id = Guid.NewGuid(), State = "ManagerApproving", StateName = "Manager approving", }; context.Orders.InsertOnSubmit(target); } target.OwnerId = order.OwnerId; context.SubmitChanges(); order.Id = target.Id; return(order); } }
public void ChangeState(Guid id, string nextState, string nextStateName) { using (var context = new DataModelDataContext()) { var order = Get(id, context); if (order == null) { return; } order.State = nextState; order.StateName = nextStateName; context.SubmitChanges(); } }
public void UpdateOrderHistory(Guid id, string currentState, string nextState, string command, Guid?employeeId) { using (var context = new DataModelDataContext()) { var historyItem = new OrderHistory { Id = Guid.NewGuid(), DestinationState = nextState, OrderId = id, InitialState = currentState }; context.OrderHistories.InsertOnSubmit(historyItem); historyItem.Command = command; historyItem.TransitionTime = DateTime.Now; historyItem.EmployeeId = employeeId; context.SubmitChanges(); } }