bool checkPermis(T_PhaseGroup obj, int actionUser, bool isOwner) { if (isOwner) { return(true); } return(obj.CreatedUser == actionUser); }
private bool CheckExists(string keyword, int PhaseGroupId, bool isCheckName) { try { T_PhaseGroup phaseGroup = null; if (isCheckName) { phaseGroup = db.T_PhaseGroup.FirstOrDefault(x => !x.IsDeleted && x.Name.Trim().ToUpper().Equals(keyword) && x.Id != PhaseGroupId); } else { phaseGroup = db.T_PhaseGroup.FirstOrDefault(x => !x.IsDeleted && x.Code.Trim().ToUpper().Equals(keyword) && x.Id != PhaseGroupId); } if (phaseGroup == null) { return(false); } return(true); } catch (Exception ex) { throw ex; } }
public ResponseBase InsertOrUpdate(PhaseGroupModel model, bool isOwner) { try { using (db = new IEDEntities()) { var result = new ResponseBase(); bool flag = false; T_PhaseGroup obj = null; if (CheckExists(model.Name.Trim().ToUpper(), model.Id, true)) { result.IsSuccess = false; result.Errors.Add(new Error() { MemberName = "Insert ", Message = "Tên Cụm Công Đoạn này đã tồn tại. 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)) { result.IsSuccess = false; result.Errors.Add(new Error() { MemberName = "Insert", Message = "Mã Cụm Công Đoạn này đã tồn tại. Vui lòng chọn lại Mã khác !." }); flag = true; } } if (!flag) { if (model.Id == 0) { obj = new T_PhaseGroup(); Parse.CopyObject(model, ref obj); obj.CreatedDate = DateTime.Now; obj.CreatedUser = model.ActionUser; db.T_PhaseGroup.Add(obj); db.SaveChanges(); result.IsSuccess = true; } else { obj = db.T_PhaseGroup.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 Cụm Công Đoạn này nên bạn không cập nhật được thông tin cho Cụm Công Đoạn này." }); } else { obj.Name = model.Name; obj.Code = model.Code; obj.MinLevel = model.MinLevel; obj.MaxLevel = model.MaxLevel; obj.Description = model.Description; obj.UpdatedUser = model.ActionUser; obj.UpdatedDate = DateTime.Now; obj.WorkshopIds = model.WorkshopIds; // cap nhat ben phan tich mat hang var commoAna = db.T_CommodityAnalysis.Where(x => !x.IsDeleted && x.ObjectId == obj.Id && x.ObjectType == (int)eObjectType.isPhaseGroup); if (commoAna != null && commoAna.Count() > 0) { foreach (var item in commoAna) { item.Name = model.Name; item.UpdatedUser = model.ActionUser; item.UpdatedDate = DateTime.Now; } } db.SaveChanges(); result.IsSuccess = true; } } } } return(result); } } catch (Exception ex) { throw ex; } }