Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }