コード例 #1
0
 public IActionResult PostLeaveCredits([FromBody] LeaveRulesWithEmp Leave)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     Leave.TenantId = TenantId;
     _repository.LeaveCredit.AddCreditsAndSave(Leave);
     _repository.LeaveCredit.Dispose();
     return(Ok());
 }
コード例 #2
0
 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));
 }
コード例 #3
0
        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);
            }
        }