public async Task <bool> AddAppoinmentAsync(MakeAnAppoinmentDto makeAnAppoinmentDto, int pacientId) { var time = TimeSpan.FromMinutes((int)makeAnAppoinmentDto.FromTimeSpan).ToString(). Substring(0, TimeSpan.FromMinutes((int)makeAnAppoinmentDto.FromTimeSpan).ToString().Length - 3) + "-" + TimeSpan.FromMinutes((int)makeAnAppoinmentDto.ToTimeSpan).ToString(). Substring(0, TimeSpan.FromMinutes((int)makeAnAppoinmentDto.ToTimeSpan).ToString().Length - 3); var dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc); //Add 3 hours in seconds to complete the diference between utc0 and utc3 (Romania time) dtDateTime = dtDateTime.AddSeconds(makeAnAppoinmentDto.DayUnixTime + 10800); var dateId = (dtDateTime.Year * 100 + dtDateTime.Month) * 100 + dtDateTime.Day; var newAppoinment = new Appoinment { AppoinmentDate = dtDateTime.ToString("dd/MM/yyyy"), AppoinmentHour = time, AppoinmentStartSpan = makeAnAppoinmentDto.FromTimeSpan, AppoinmentEndSpan = makeAnAppoinmentDto.ToTimeSpan, Reason = makeAnAppoinmentDto.Reason, DateId = dateId, PacientId = pacientId, DoctorId = makeAnAppoinmentDto.DoctorId, IsConsultationAdded = false, StatusId = (int)AppoinmentStatuses.Pending, }; _context.Appoinments.Add(newAppoinment); return(await _context.SaveChangesAsync() > 0); }
public async Task <ActionResult> MakeAnAppoinment(MakeAnAppoinmentDto makeAnAppoinmentDto) { var userPacient = await _pacientRepository.GetPacientByUsername(User.GetUserName()); if (makeAnAppoinmentDto == null || makeAnAppoinmentDto.DoctorId == 0 || makeAnAppoinmentDto.DayUnixTime == 0 || makeAnAppoinmentDto.FromTimeSpan == 0 || makeAnAppoinmentDto.ToTimeSpan == 0 || userPacient.Pacient == null) { return(BadRequest("Parametrii invalizi!")); } if (await _appoinmentsRepository.AddAppoinmentAsync(makeAnAppoinmentDto, userPacient.Pacient.Id)) { return(Ok()); } return(BadRequest("Upps..ceva nu a mers!")); }