public IActionResult PostLeaveCredits([FromBody] LeaveRulesWithEmp Leave) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Leave.TenantId = TenantId; _repository.LeaveCredit.AddCreditsAndSave(Leave); _repository.LeaveCredit.Dispose(); return(Ok()); }
public IActionResult AddPolicy(LeaveRules Leave, int[] emps) { ViewBag.Persons = GetPersonsForLeavePolicy(); ViewBag.Locations = GetLocations(); Leave.CreatedDate = DateTime.Now; Leave.UpdatedDate = DateTime.Now; if (emps.Length == 0) { ModelState.AddModelError("LocationId", "Please select at least one employee"); } if (ModelState.IsValid) { Leave.CreatedBy = Convert.ToInt32(GetSession().PersonId); Leave.IsActive = true; HttpResponseMessage response = _services.LeaveRules.PostResponse(ApiUrl + "/api/LeavePolicy/" + 0, Leave); string stringData = response.Content.ReadAsStringAsync().Result; LeaveRules LeaveRules = JsonConvert.DeserializeObject <LeaveRules>(stringData); if (response.IsSuccessStatusCode == true) { LeaveRulesWithEmp LeaveEmp = new LeaveRulesWithEmp() { Id = LeaveRules.Id, LeaveType = LeaveRules.LeaveType, Validity = LeaveRules.Validity, ValidFrom = LeaveRules.ValidFrom, ValidTo = LeaveRules.ValidTo, Employees = emps }; HttpResponseMessage response2 = _services.LeaveRulesWithEmp.PostResponse(ApiUrl + "/api/LeaveCredit/AddCredits", LeaveEmp); if (response2.IsSuccessStatusCode == true) { return(View()); } } } else { Response.StatusCode = (int)HttpStatusCode.BadRequest; } return(PartialView("AddPolicy", Leave)); }
public void AddCreditsAndSave(LeaveRulesWithEmp Leave) { int id = Leave.Id; List <Person> List = _dbContext.Person.Where(x => x.TenantId == Leave.TenantId && x.LocationId == Leave.LocationId).ToList(); foreach (var item in Leave.Employees) { LeaveCredit Credit = new LeaveCredit { TenantId = 0, PersonId = item, LeaveType = Leave.LeaveType, AllotedDays = Leave.Validity, Available = Leave.Validity, ValidFrom = Leave.ValidFrom, ValidTo = Leave.ValidTo, LeaveId = Leave.Id, CreatedDate = DateTime.Now, UpdatedDate = DateTime.Now, IsActive = true }; AddCreditAndSave(Credit); } }