private bool CheckExists(string keyword, int id, bool isCheckName, IEDEntities db) { try { T_TimePrepare timeType = null; keyword = keyword.Trim().ToUpper(); if (isCheckName) { timeType = db.T_TimePrepare.FirstOrDefault(x => !x.IsDeleted && x.Id != id && x.Name.Trim().ToUpper().Equals(keyword)); } else { timeType = db.T_TimePrepare.FirstOrDefault(x => !x.IsDeleted && x.Id != id && x.Code.Trim().ToUpper().Equals(keyword)); } if (timeType == null) { return(false); } return(true); } catch (Exception ex) { throw ex; } }
bool checkPermis(T_TimePrepare obj, int actionUser, bool isOwner) { if (isOwner) { return(true); } return(obj.CreatedUser == actionUser); }
public ResponseBase InsertOrUpdate(TimePrepareModel model, bool isOwner) { try { using (db = new IEDEntities()) { var result = new ResponseBase(); bool flag = false; if (CheckExists(model.Name.Trim().ToUpper(), model.Id, true, db)) { result.IsSuccess = false; result.Errors.Add(new Error() { MemberName = "Insert ", Message = "Tên này đã được sử dụng. Vui lòng chọn lại Tên khác !." }); flag = true; } if (!string.IsNullOrEmpty(model.Code)) { if (CheckExists(model.Code.Trim().ToUpper(), model.Id, false, db)) { result.IsSuccess = false; result.Errors.Add(new Error() { MemberName = "Insert ", Message = "Mã này đã được sử dụng. Vui lòng chọn lại Mã khác !." }); flag = true; } } if (!flag) { T_TimePrepare obj = null; if (model.Id == 0) { obj = new T_TimePrepare(); Parse.CopyObject(model, ref obj); obj.CreatedDate = DateTime.Now; obj.CreatedUser = model.ActionUser; db.T_TimePrepare.Add(obj); db.SaveChanges(); result.IsSuccess = true; } else { obj = db.T_TimePrepare.FirstOrDefault(x => !x.IsDeleted && x.Id == model.Id); if (obj == null) { result.IsSuccess = false; result.Errors.Add(new Error() { MemberName = "Update", Message = "Dữ liệu bạn đang thao tác đã bị xóa hoặc không tồn tại. Vui lòng kiểm tra lại !." }); return(result); } else { if (!checkPermis(obj, model.ActionUser, isOwner)) { result.IsSuccess = false; result.Errors.Add(new Error() { MemberName = "update", Message = "Bạn không phải là người tạo thời gian chuẩn bị này nên bạn không cập nhật được thông tin cho thời gian chuẩn bị này." }); } else { obj.Name = model.Name; obj.Code = model.Code; obj.TimeTypePrepareId = model.TimeTypePrepareId; obj.TMUNumber = model.TMUNumber; obj.Description = model.Description; obj.UpdatedUser = model.ActionUser; obj.UpdatedDate = DateTime.Now; db.SaveChanges(); result.IsSuccess = true; } } } } return(result); } } catch (Exception ex) { throw ex; } }