public GenericDossier InsertDossier(GenericDossier dossier, Guid dossierTypeId)
        {
            var dataObject         = Map(dossier, dossierTypeId);
            var insertedDataObject = _dataStoreHandler.InsertDataObject(dataObject);

            return(Map(insertedDataObject));
        }
        public GenericDossier UpdateDossier(GenericDossier dossier)
        {
            var existingDataObject = _dataStoreHandler.GetDataObjectById((Guid)dossier.DataObjectId);
            var dataObjectToUpdate = Map(dossier, Guid.Empty);

            dataObjectToUpdate.DataTypeId = existingDataObject.DataTypeId;

            return(Map(_dataStoreHandler.UpdateDataObject(dataObjectToUpdate)));
        }
Esempio n. 3
0
 public GenericDossier UpdateDossier(Guid id, GenericDossier dossier)
 {
     if (dossier.DataObjectId == null)
     {
         throw new ValidationException(FeedbackItem.CreateValidationErrorFeedbackItem("dataObjectId is not filled in"));
     }
     if (id != dossier.DataObjectId)
     {
         throw new ValidationException(FeedbackItem.CreateValidationErrorFeedbackItem("dataObjectId is not filled in"));
     }
     return(_dossierDataProvider.UpdateDossier(dossier));
 }
Esempio n. 4
0
        public GenericDossier InsertDossier(GenericDossier dossier, Guid dossierTypeId)
        {
            var config    = _dossierTypeConfigDataProvider.GetDossierTypeConfigByDossierTypeId(dossierTypeId);
            var dossierNr = config.DossierNrStructure;
            var count     = _dossierDataProvider.CountDossiers().ToString();

            dossier.DossierNr = dossierNr.Replace("XXXX", count.PadLeft(4, '0'));
            var insertedDossier = _dossierDataProvider.InsertDossier(dossier, dossierTypeId);

            foreach (var processConfig in config.Processes)
            {
                _tasksApiClient.StartProcessForDossierAndProcessDefinitionId(insertedDossier, processConfig.ProcessId);
            }

            return(insertedDossier);
        }
        private DataObject Map(GenericDossier dossier, Guid dossierTypeId)
        {
            var returnValue = new DataObject();

            returnValue.Name       = dossier.DossierNr;
            returnValue.DataTypeId = dossierTypeId;
            returnValue.Values     = new Dictionary <string, object>();
            returnValue.Values.Add("dossierNr", dossier.DossierNr);
            if (dossier.Subject != null)
            {
                returnValue.Values.Add("subject", dossier.Subject);
            }
            if (dossier.Applicant != null)
            {
                returnValue.Values.Add("applicant", dossier.Applicant);
            }
            if (dossier.DateOfApplication != null)
            {
                returnValue.Values.Add("dateOfApplication", dossier.DateOfApplication);
            }
            if (dossier.StartDateOfEvent != null)
            {
                returnValue.Values.Add("startDateOfEvent", dossier.StartDateOfEvent);
            }
            if (dossier.EndDateOfEvent != null)
            {
                returnValue.Values.Add("endDateOfEvent", dossier.EndDateOfEvent);
            }
            if (dossier.Address != null)
            {
                returnValue.Values.Add("address", dossier.Address);
            }
            if (dossier.GisData != null)
            {
                returnValue.Values.Add("gisData", dossier.GisData);
            }

            returnValue.Values.Add("status", dossier.Status);

            if (dossier.DataObjectId != null)
            {
                returnValue.Id = (Guid)dossier.DataObjectId;
            }

            return(returnValue);
        }
        private GenericDossier Map(DataObject dataObject)
        {
            var returnValue = new GenericDossier();

            returnValue.Address           = dataObject.Values.ContainsKey("address") ? (string)dataObject.Values["address"] : null;
            returnValue.Applicant         = dataObject.Values.ContainsKey("applicant") ? (string)dataObject.Values["applicant"] : null;
            returnValue.DataObjectId      = dataObject.Id;
            returnValue.DateOfApplication = dataObject.Values.ContainsKey("dateOfApplication") ? (DateTime?)dataObject.Values["dateOfApplication"] : null;
            returnValue.DossierNr         = dataObject.Name;
            returnValue.EndDateOfEvent    = dataObject.Values.ContainsKey("endDateOfEvent") ? (DateTime?)dataObject.Values["endDateOfEvent"] : null;
            returnValue.GisData           = dataObject.Values.ContainsKey("gisData") ? (string)dataObject.Values["gisData"] : null;
            returnValue.StartDateOfEvent  = dataObject.Values.ContainsKey("startDateOfEvent") ? (DateTime?)dataObject.Values["startDateOfEvent"] : null;
            returnValue.GisData           = dataObject.Values.ContainsKey("gisData") ? (string)dataObject.Values["gisData"] : null;
            returnValue.Status            = dataObject.Values.ContainsKey("status") ? Convert.ToInt32((long)dataObject.Values["status"]) : 0;
            returnValue.Subject           = dataObject.Values.ContainsKey("subject") ? (string)dataObject.Values["subject"] : null;

            return(returnValue);
        }
        public bool StartProcessForDossierAndProcessDefinitionId(GenericDossier dossier, string processDefinitionId)
        {
            var structuredContent = new
            {
                ProcessDefinitionId = processDefinitionId,
                DossierId           = dossier.DataObjectId
            };

            var content = new StringContent(structuredContent.ToJson());

            var request = new HttpRequestMessage(HttpMethod.Post, _client.BaseAddress + "api/processinstances");

            content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            request.Content             = content;

            using (var response = _client.SendAsync(request, HttpCompletionOption.ResponseContentRead).Result)
            {
                return(response.IsSuccessStatusCode);
            }
        }
Esempio n. 8
0
 public IActionResult PutDossier(Guid id, [FromBody] GenericDossier dossier)
 {
     return(_responseFactory.CreatePutResponse(() => _dossierManager.UpdateDossier(id, dossier), this.GetRequestUri()));
 }
Esempio n. 9
0
 public IActionResult PostDossier([FromBody] GenericDossier dossier, [FromQuery] Guid dossierTypeId)
 {
     return(_responseFactory.CreatePostResponse(() => _dossierManager.InsertDossier(dossier, dossierTypeId), this.GetRequestUri()));
 }