public DeleteToDoByPatientIdDataResponse DeleteToDoByPatientId(DeleteToDoByPatientIdDataRequest request) { DeleteToDoByPatientIdDataResponse response = new DeleteToDoByPatientIdDataResponse(); try { ISchedulingRepository repo = Factory.GetRepository(request, RepositoryType.ToDo); GetToDosDataRequest getToDosDataRequest = new GetToDosDataRequest { PatientId = request.PatientId, Context = request.Context, ContractNumber = request.ContractNumber, UserId = request.UserId, Version = request.Version }; GetToDosDataResponse toDosResponse = repo.FindToDos(getToDosDataRequest); List <ToDoData> patientToDos = (List <ToDoData>)toDosResponse.ToDos; //repo.FindToDos(getToDosDataRequest); List <string> deletedIds = null; if (patientToDos != null) { deletedIds = new List <string>(); patientToDos.ForEach(u => { request.Id = u.Id; repo.Delete(request); deletedIds.Add(request.Id); }); response.DeletedIds = deletedIds; } response.Success = true; return(response); } catch (Exception ex) { throw ex; } }
public void Delete(object entity) { DeleteToDoByPatientIdDataRequest request = (DeleteToDoByPatientIdDataRequest)entity; try { using (SchedulingMongoContext ctx = new SchedulingMongoContext(_dbName)) { var q = MB.Query <METoDo> .EQ(b => b.Id, ObjectId.Parse(request.Id)); var uv = new List <MB.UpdateBuilder>(); uv.Add(MB.Update.Set(METoDo.TTLDateProperty, DateTime.UtcNow.AddDays(_expireDays))); uv.Add(MB.Update.Set(METoDo.LastUpdatedOnProperty, DateTime.UtcNow)); uv.Add(MB.Update.Set(METoDo.DeleteFlagProperty, true)); uv.Add(MB.Update.Set(METoDo.UpdatedByProperty, ObjectId.Parse(this.UserId))); IMongoUpdate update = MB.Update.Combine(uv); ctx.ToDos.Collection.Update(q, update); AuditHelper.LogDataAudit(this.UserId, MongoCollectionName.ToDo.ToString(), request.Id.ToString(), Common.DataAuditType.Delete, request.ContractNumber); } } catch (Exception) { throw; } }
public DeleteToDoByPatientIdDataResponse Delete(DeleteToDoByPatientIdDataRequest request) { DeleteToDoByPatientIdDataResponse response = new DeleteToDoByPatientIdDataResponse(); try { if (string.IsNullOrEmpty(request.UserId)) { throw new UnauthorizedAccessException("SchedulingDD:Delete()::Unauthorized Access"); } response = Manager.DeleteToDoByPatientId(request); response.Version = request.Version; } catch (Exception ex) { CommonFormatter.FormatExceptionResponse(response, base.Response, ex); string aseProcessID = ConfigurationManager.AppSettings.Get("ASEProcessID") ?? "0"; Common.Helper.LogException(int.Parse(aseProcessID), ex); } return(response); }