public async Task <IActionResult> Post([FromBody] PersonRegistrationCommand registerPersonCommand) { var response = await _mediator.Send(registerPersonCommand, Request.HttpContext.RequestAborted); if (response.IsValid) { return(Ok(response.Value)); } return(BadRequest(response)); }
public async Task <Result <PersonRegistrationResponse> > Handle(PersonRegistrationCommand request, CancellationToken cancellationToken) { try { using (_unitOfWork) { Person person = new Person(); RegisterPersonService registerPersonService = new RegisterPersonService(_unitOfWork); Facility clientFacility = await _unitOfWork.Repository <Facility>().Get(x => x.PosID == request.Person.PosId.ToString()).FirstOrDefaultAsync(); if (clientFacility == null) { clientFacility = await _unitOfWork.Repository <Facility>().Get(x => x.DeleteFlag == 0).FirstOrDefaultAsync(); } if (!request.Person.Id.HasValue) { person = await registerPersonService.RegisterPerson(request.Person.FirstName, request.Person.MiddleName, request.Person.LastName, request.Person.Sex, request.Person.CreatedBy, clientFacility.FacilityID, request.Person.DateOfBirth, request.Person.RegistrationDate, request.Person.NickName, request.Person.DobPrecision); } else { person = await registerPersonService.UpdatePerson(request.Person.Id.Value, request.Person.FirstName, request.Person.MiddleName, request.Person.LastName, request.Person.Sex, request.Person.DateOfBirth, clientFacility.FacilityID, request.Person.RegistrationDate, request.Person.DobPrecision, request.Person.NickName); } _unitOfWork.Dispose(); return(Result <PersonRegistrationResponse> .Valid(new PersonRegistrationResponse { PersonId = person.Id, Message = "Success" })); } } catch (Exception e) { Log.Error(e.Message + " " + e.InnerException); return(Result <PersonRegistrationResponse> .Invalid(e.Message + " " + e.InnerException)); } }
public async Task <Result <PersonRegistrationResponse> > Handle(PersonRegistrationCommand request, CancellationToken cancellationToken) { try { Client c = new Client(); c.FirstName = request.Person.FirstName; c.LastName = request.Person.LastName; c.MiddleName = request.Person.MiddleName; c.LastName = request.Person.LastName; c.MaritalStatus = request.Person.MaritalStatus; c.Sex = request.Person.Sex; c.PersonId = request.Person.PersonId; c.CreatedBy = request.Person.CreatedBy; c.DateOfBirth = request.Person.DateOfBirth; c.DobPrecision = request.Person.DobPrecision; RegisterPersonService rs = new RegisterPersonService(_unitOfWork); int PerId; if (!String.IsNullOrEmpty(c.PersonId.ToString())) { PerId = Convert.ToInt32(c.PersonId.ToString()); if (PerId > 0) { var result = await Task.Run(() => rs.UpdatePerson(PerId, c.FirstName, c.MiddleName, c.LastName, c.Sex, c.CreatedBy, c.DateOfBirth, c.DobPrecision)); PId = result.Id; msg = String.Format("Person with the PersonId: {0} updated successfully", PId); var _marStatus = await Task.Run(() => rs.GetFirstPatientMaritalStatus(PerId)); if (_marStatus != null && c.MaritalStatus > 0) { //_marStatus.DeleteFlag = true; var maritalStatus = await Task.Run(() => rs.UpdateMaritalStatus(_marStatus)); // var finalupdatestatus = await Task.Run(() => rs.AddMaritalStatus(PerId, c.MaritalStatus, c.CreatedBy)); if (maritalStatus != null) { msg += "PersonMaritalStatus Updated Successfully"; } } else if (_marStatus != null && c.MaritalStatus == 0) { _marStatus.DeleteFlag = true; var maritalStatus = await Task.Run(() => rs.UpdateMaritalStatus(_marStatus)); if (maritalStatus.DeleteFlag == true) { msg += "Person MaritalStatus Updated Successfully"; } } else { if (c.MaritalStatus > 0) { var finalupdatestatus = await Task.Run(() => rs.AddMaritalStatus(PerId, c.MaritalStatus, c.CreatedBy)); if (finalupdatestatus != null) { msg += "PersonMaritalStatus Added Successfully!"; } } } } } else { var reg = rs.RegisterPerson(c.FirstName, c.MiddleName, c.LastName, c.Sex, c.DateOfBirth, c.CreatedBy, c.DobPrecision); if (reg != null && reg.Id > 0) { int perId = reg.Id; PId = reg.Id; msg += String.Format("New Person Added Successsfully:PersonId=>,{0}", reg.Id); if (c.MaritalStatus > 0) { var mar = rs.AddMaritalStatus(perId, c.MaritalStatus, c.CreatedBy); if (mar != null) { msg += "Person Marital Status added successfully"; } } } } _unitOfWork.Dispose(); return(Result <PersonRegistrationResponse> .Valid(new PersonRegistrationResponse { PersonId = PId, Message = msg })); } catch (Exception e) { // msg = e.Message; return(Result <PersonRegistrationResponse> .Invalid(e.Message)); } }
public async Task <Result <PersonRegistrationResponse> > Handle(PersonRegistrationCommand request, CancellationToken cancellationToken) { try { Client c = new Client(); c.FirstName = request.Person.FirstName; c.LastName = request.Person.LastName; c.MiddleName = request.Person.MiddleName; c.LastName = request.Person.LastName; c.MaritalStatus = request.Person.MaritalStatus; c.Sex = request.Person.Sex; c.PersonId = request.Person.PersonId; c.CreatedBy = request.Person.CreatedBy; c.DateOfBirth = request.Person.DateOfBirth; c.DobPrecision = request.Person.DobPrecision; int PerId; if (!String.IsNullOrEmpty(c.PersonId.ToString())) { PerId = Convert.ToInt32(c.PersonId.ToString()); if (PerId > 0) { var personManager = new PersonManager(); //UpdatePerson(string firstname, string middlename, string lastname, int gender, int userId, int id, DateTime dateOfBirth, bool dobPrecision) await Task.Run(() => personManager.UpdatePerson(c.FirstName, c.MiddleName, c.LastName, c.Sex, c.CreatedBy, Convert.ToInt32(c.PersonId.ToString()), c.DateOfBirth, c.DobPrecision)); PId = Convert.ToInt32(c.PersonId.ToString()); msg = string.Format("Person with the PersonId: {0} updated successfully", PId); } var maritalstatus = new PersonMaritalStatusManager(); var _marStatus = maritalstatus.GetInitialPatientMaritalStatus(PerId); if (_marStatus != null && c.MaritalStatus > 0) { _marStatus.MaritalStatusId = c.MaritalStatus; _marStatus.CreatedBy = c.CreatedBy; res = await Task.Run(() => maritalstatus.UpdatePatientMaritalStatus(_marStatus)); if (res > 0) { msg += "<p>Person Marital Status Updated Successfully!</p>"; } } else if (_marStatus != null && c.MaritalStatus == 0) { _marStatus.DeleteFlag = true; res = await Task.Run(() => maritalstatus.UpdatePatientMaritalStatus(_marStatus)); if (res > 0) { msg += "<p>Person Marital Status Updated Successfully!</p>"; } } else { if (c.MaritalStatus > 0) { res = await Task.Run(() => maritalstatus.AddPatientMaritalStatus(Convert.ToInt32(c.PersonId.ToString()), c.MaritalStatus, c.CreatedBy)); { if (res > 0) { msg += "PersonMarital Status Added Successfully!"; } } } } } else { var personLogic = new PersonManager(); PId = personLogic.AddPersonUiLogic(c.FirstName, c.MiddleName, c.LastName, c.Sex, Convert.ToInt32(c.CreatedBy), c.DateOfBirth, Convert.ToBoolean(c.DobPrecision)); if (PId > 0) { msg = "New Person Added successfully:PersonId=>" + PId + "</p>"; var MaritalStatus = new PersonMaritalStatusManager(); if (c.MaritalStatus > 0) { res = MaritalStatus.AddPatientMaritalStatus(PId, c.MaritalStatus, c.CreatedBy); if (res > 0) { msg += "Person Marital Status Added Successfully!"; } } else { } } } } catch (Exception e) { msg = e.Message; } return(Result <PersonRegistrationResponse> .Valid(new PersonRegistrationResponse() { PersonId = PId, Message = msg })); }