[HttpPost()]                                                         // POST /TeamMembers + JSON Object
        public IActionResult NewTeamMember([FromBody] TeamMember teamMember) //Accepts JSON body, not x-www-form-urlencoded!
        {
            var username = User.Identity.Name;                               // For security. From Claim(ClaimTypes.Name, Username) in JWT

            if (username != null && username == teamMember.Username)         //adding herself/himself
            {
                teamMember.Status = true;
            }
            ReturnModel newTeamMember = ITeamMemberRepository.AddTeamMember(teamMember, username);

            if (newTeamMember.ErrorCode == ErrorCodes.OK)
            {
                if (newTeamMember.ErrorCode == ErrorCodes.OK)
                {
                    return(Ok(newTeamMember.ReturnedId)); //teamMemberId
                }
            }
            else if (newTeamMember.ErrorCode == ErrorCodes.Forbidden)
            {
                return(Forbid());
            }
            return(new StatusCodeResult(StatusCodes.Status503ServiceUnavailable));  // 503 Service Unavailable Error.
        }
Example #2
0
        public ActionResult AddTeamMember(AddTeamMemberViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    bool flag = false;
                    if (model.EmployeeID != null && model.EmployeeID.Trim().Length > 0)
                    {
                        if (!string.IsNullOrWhiteSpace(model.MobileNo))
                        {
                            if (model.MobileNo.Length < 10 || model.MobileNo.Length > 11)
                            {
                                flag             = true;
                                ViewBag.ErrorMsg = "Enter Valid Mobile No";
                            }
                        }
                        if (!string.IsNullOrWhiteSpace(model.STD) && !string.IsNullOrWhiteSpace(model.ResidancePhoneNo))
                        {
                            if (model.STD.Length < 3)
                            {
                                flag             = true;
                                ViewBag.ErrorMsg = "Enter valid STD Code";
                            }
                            else if (model.ResidancePhoneNo.Length < 6)
                            {
                                flag             = true;
                                ViewBag.ErrorMsg = "Enter Valid Telephone No";
                            }
                        }
                        if (!flag)
                        {
                            if (!repoTeamMember.IsTeamMemberExist(model.EmployeeID.Trim()))
                            {
                                DateTime DateOfBirth = DateTime.Parse(model.DOB.ToString());
                                DateTime DateOfJoin  = DateTime.Parse(model.DOJ.ToString());
                                var      age         = DateOfJoin.Year - DateOfBirth.Year;
                                if (age >= 18)
                                {
                                    repoTeamMember.AddTeamMember(model);
                                    int Res = repoTeamMember.SaveChanges();
                                    if (Res > 0)
                                    {
                                        TempData["SuccessMsg"] = "Record Added Successfully!";
                                        ModelState.Clear();
                                        return(RedirectToAction("ManageTeamMembers"));
                                    }
                                    else
                                    {
                                        ViewBag.ErrorMsg = "There is some problem to save record. Please try again later!";
                                    }
                                }
                                else
                                {
                                    ViewBag.ErrorMsg = "Date Of Birth should be less than 18 years From join Date";
                                }
                            }
                            else
                            {
                                ViewBag.ErrorMsg = "Record Already Exist!";
                            }
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "TeamMember Name could not be blank!");
                    }
                }
                else
                {
                    var query = from state in ModelState.Values
                                from error in state.Errors
                                select error.ErrorMessage;

                    var    errorList = query.ToList();
                    string strError  = string.Empty;
                    foreach (string str in errorList)
                    {
                        strError += str + "\n";
                    }

                    ModelState.AddModelError("", strError);
                }
            }
            catch (Exception Ex)
            {
                ViewBag.ErrorMsg = Ex.Message;
                clsCommonMethods.ErrorLog(Server.MapPath("~\\ErrorLogs\\Logfiles"), Ex.Message, Ex.StackTrace);
            }
            //BindState();
            BindCountry();
            BindTitleList();
            BindTitleFatherList();
            BindCategoryList();
            BindDepartmentList();
            BindBranchOfficeList();
            //BindDesignationList();
            return(View());
        }