public ActionResult AddRelationCount(RelationTypeCountViewModel model) { model = RelTypeModel(model); try { if (ModelState.IsValid) { var existObj = _unitOfWork.RelationTypeCountRepository.GetAll(x => x.EmpId == model.EmpId && x.RelTypeId == model.RelTypeId).FirstOrDefault(); if (existObj == null) //Insert { RelationTypeCount count = new RelationTypeCount() { EmpId = model.EmpId, RelTypeId = model.RelTypeId, MaxCount = model.MaxCount }; _unitOfWork.RelationTypeCountRepository.Insert(count); } else // Update { existObj.MaxCount = model.MaxCount; } if (_unitOfWork.Save() > 0) { TempData[MessaageEnum.message.ToString()] = Messages._sucess; return(RedirectToAction("RelTypeCountIndex")); } else { TempData[MessaageEnum.message.ToString()] = Messages._failed; return(View("RelTypeCountIndex", model)); } } } catch (Exception ex) { throw; } return(View("RelTypeCountIndex", model)); }
public ActionResult AddRelationDetails(RelationDetailsViewModel model) { model = RelDetailsModel(model); try { if (ModelState.IsValid) { var maxCount = _unitOfWork.RelationTypeCountRepository.GetAll(x => x.EmpId == model.EmpId && x.RelTypeId == model.RelTypeId).FirstOrDefault(); int relCount = 0; //If there hasn't any record according to this empId and relId, Insert Record to DB_RelationTypeCount and get maximum count for relevant empId and relId if (maxCount == null) { RelationTypeCount count = new RelationTypeCount() { EmpId = model.EmpId, RelTypeId = model.RelTypeId, MaxCount = 1 }; _unitOfWork.RelationTypeCountRepository.Insert(count); if (_unitOfWork.Save() <= 0) { TempData[MessaageEnum.message.ToString()] = Messages._failed; //return RedirectToAction("RelDetailsIndex"); return(View("RelDetailsIndex", model)); } relCount = 1; } else { relCount = (int)maxCount.MaxCount; } var existObj = _unitOfWork.RelationDetailsRepository.GetAll(x => x.EmpId == model.EmpId && x.RelationTypeId == model.RelTypeId).ToList(); //If maximum Count is less than counts of db records of relevant empId and relId, Then Insert if (existObj.Count < relCount) { bool hasName = false; //Check whether relation name is already exist or not foreach (var item in existObj) { if (item.RelationName.ToUpper() == model.RelName.ToUpper()) { hasName = true; } } if (!hasName) { RelationDetail detail = new RelationDetail() { EmpId = model.EmpId, RelationTypeId = model.RelTypeId, RelationName = model.RelName }; _unitOfWork.RelationDetailsRepository.Insert(detail); } else { TempData[MessaageEnum.message.ToString()] = "danger_This relation name is already exist"; return(View("RelDetailsIndex", model)); } } else { TempData[MessaageEnum.message.ToString()] = "danger_You can add maximum " + relCount + ", from this relation type"; return(View("RelDetailsIndex", model)); //ModelState.AddModelError("RelTypeId", "You can add maximum " + relCount + ", from this relation type"); } if (_unitOfWork.Save() > 0) { TempData[MessaageEnum.message.ToString()] = Messages._sucess; return(RedirectToAction("RelDetailsIndex")); } else { TempData[MessaageEnum.message.ToString()] = Messages._failed; return(View("RelDetailsIndex", model)); } } } catch (Exception ex) { throw; } return(View("RelDetailsIndex", model)); }