bool checkPermis(T_TechProcessVersion obj, int actionUser, bool isOwner) { if (isOwner) { return(true); } return(obj.CreatedUser == actionUser); }
public ResponseBase InsertOrUpdate(TechProcessVersionModel model) { try { using (db = new IEDEntities()) { var result = new ResponseBase(); T_TechProcessVersion version = null; T_TechProcessVersionDetail verDetail = null; model.Id = 0; if (model.Id == 0) { version = new T_TechProcessVersion(); Parse.CopyObject(model, ref version); version.CreatedDate = DateTime.Now; version.CreatedUser = model.ActionUser; if (model.details != null && model.details.Count > 0) { version.T_TechProcessVersionDetail = new Collection <T_TechProcessVersionDetail>(); foreach (var item in model.details) { verDetail = new T_TechProcessVersionDetail(); Parse.CopyObject(item, ref verDetail); verDetail.T_TechProcessVersion = version; verDetail.CreatedDate = version.CreatedDate; verDetail.CreatedUser = version.CreatedUser; version.T_TechProcessVersionDetail.Add(verDetail); } } string query = "update T_TechProcessVersion set IsDeleted = 1 WHERE ParentId =" + version.ParentId; db.Database.ExecuteSqlCommand(query); db.T_TechProcessVersion.Add(version); } else { #region Update version = db.T_TechProcessVersion.FirstOrDefault(x => !x.IsDeleted && x.Id == model.Id); if (version == 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 { version.NumberOfWorkers = model.NumberOfWorkers; version.WorkingTimePerDay = model.WorkingTimePerDay; version.PacedProduction = model.PacedProduction; version.TimeCompletePerCommo = model.TimeCompletePerCommo; version.ProOfGroupPerDay = model.ProOfGroupPerDay; version.ProOfGroupPerHour = model.ProOfGroupPerHour; version.ProOfPersonPerDay = model.ProOfPersonPerDay; version.Note = model.Note; version.UpdatedUser = model.ActionUser; version.UpdatedDate = DateTime.Now; version.PricePerSecond = model.PricePerSecond; version.Allowance = model.Allowance; var details = db.T_TechProcessVersionDetail.Where(x => !x.IsDeleted && x.TechProcessVersionId == model.Id).OrderBy(x => x.Id).ToList(); if (details.Count > 0) { model.details = model.details.OrderBy(x => x.Id).ToList(); for (int i = 0; i < details.Count(); i++) { details[i].Percent = model.details[i].Percent; details[i].TimeByPercent = model.details[i].TimeByPercent; details[i].Worker = model.details[i].Worker; details[i].Description = model.details[i].Description; details[i].UpdatedUser = model.ActionUser; details[i].UpdatedDate = DateTime.Now; } } } #endregion } db.SaveChanges(); result.Data = version.Id; result.IsSuccess = true; return(result); } } catch (Exception ex) { throw ex; } }