示例#1
0
        public async Task <IHttpActionResult> NuovaAtto(AttiFormUpdateModel attoModel)
        {
            try
            {
                if (string.IsNullOrEmpty(attoModel.NAtto))
                {
                    return(BadRequest("Imposta il numero di atto"));
                }
                if (string.IsNullOrEmpty(attoModel.Oggetto))
                {
                    return(BadRequest("Imposta l'oggetto"));
                }
                if (attoModel.Data_chiusura <= attoModel.Data_apertura)
                {
                    return(BadRequest("Impossibile settare una data di chiusura inferiore alla data di apertura"));
                }

                var session = await GetSession();

                var persona = await _logicPersone.GetPersona(session);

                var atto      = Mapper.Map <AttiFormUpdateModel, ATTI>(attoModel);
                var nuovoAtto = await _logic.NuovoAtto(atto, persona);

                return(Created(new Uri(Request.RequestUri.ToString()), Mapper.Map <ATTI, AttiDto>(nuovoAtto)));
            }
            catch (Exception e)
            {
                Log.Error("NuovaAtto", e);
                return(ErrorHandler(e));
            }
        }
示例#2
0
        public async Task <IHttpActionResult> ModificaAtto(AttiFormUpdateModel attoModel)
        {
            try
            {
                var attoInDb = await _logic.GetAtto(attoModel.UIDAtto);

                if (attoInDb == null)
                {
                    return(NotFound());
                }

                if (attoModel.Data_chiusura <= attoModel.Data_apertura)
                {
                    return(BadRequest("Impossibile settare una data di chiusura inferiore alla data di apertura"));
                }

                var session = await GetSession();

                var persona = await _logicPersone.GetPersona(session);

                await _logic.SalvaAtto(attoInDb, attoModel, persona);

                return(Ok(Mapper.Map <ATTI, AttiDto>(attoInDb)));
            }
            catch (Exception e)
            {
                Log.Error("ModificaAtto", e);
                return(ErrorHandler(e));
            }
        }
        public async Task <ATTI> SalvaAtto(ATTI attoInDb, AttiFormUpdateModel attoModel, PersonaDto currentUser)
        {
            try
            {
                attoInDb.UIDPersonaModifica = currentUser.UID_persona;
                attoInDb.DataModifica       = DateTime.Now;
                Mapper.Map(attoModel, attoInDb);
                if (!attoModel.Data_chiusura.HasValue)
                {
                    attoInDb.Data_chiusura = null;
                }

                await _unitOfWork.CompleteAsync();

                if (attoModel.DocAtto_Stream != null)
                {
                    var path = ByteArrayToFile(attoModel.DocAtto_Stream);
                    attoInDb.Path_Testo_Atto = Path.Combine(AppSettingsConfiguration.PrefissoCompatibilitaDocumenti, path);
                    await _unitOfWork.CompleteAsync();
                }

                return(attoInDb);
            }
            catch (Exception e)
            {
                Log.Error("Salva Atto", e);
                throw e;
            }
        }
        public async Task <ATTI> NuovoAtto(AttiFormUpdateModel attoModel, PersonaDto currentUser)
        {
            try
            {
                var atto = Mapper.Map <AttiFormUpdateModel, ATTI>(attoModel);
                atto.UIDAtto             = Guid.NewGuid();
                atto.Eliminato           = false;
                atto.UIDPersonaCreazione = currentUser.UID_persona;
                atto.DataCreazione       = DateTime.Now;
                atto.OrdinePresentazione = false;
                atto.OrdineVotazione     = false;
                atto.Priorita            = await _unitOfWork.Atti.PrioritaAtto(atto.UIDSeduta.Value);

                _unitOfWork.Atti.Add(atto);
                await _unitOfWork.CompleteAsync();

                if (attoModel.DocAtto_Stream != null)
                {
                    var path = ByteArrayToFile(attoModel.DocAtto_Stream);
                    atto.Path_Testo_Atto = path;
                    await _unitOfWork.CompleteAsync();
                }

                return(atto);
            }
            catch (Exception e)
            {
                Log.Error("Nuovo Atto", e);
                throw e;
            }
        }
        public async Task <AttiDto> Modifica(AttiFormUpdateModel atto)
        {
            try
            {
                var requestUrl = $"{apiUrl}/atti/modifica";
                if (atto.DocAtto != null)
                {
                    using var memoryStream = new MemoryStream();
                    await atto.DocAtto.InputStream.CopyToAsync(memoryStream);

                    atto.DocAtto_Stream = memoryStream.ToArray();
                }

                var body = JsonConvert.SerializeObject(atto);

                var result = JsonConvert.DeserializeObject <AttiDto>(await Put(requestUrl, body, _token));
                return(result);
            }
            catch (UnauthorizedAccessException ex)
            {
                Log.Error("ModificaAtto", ex);
                throw ex;
            }
            catch (Exception ex)
            {
                Log.Error("ModificaAtto", ex);
                throw ex;
            }
        }
示例#6
0
        public async Task <ActionResult> SalvaAtto(AttiFormUpdateModel atto)
        {
            try
            {
                if (atto.DocAtto != null)
                {
                    if (atto.DocAtto.ContentType != "application/pdf")
                    {
                        throw new InvalidOperationException("I file devono essere in formato PDF");
                    }
                }

                AttiDto attoSalvato = null;
                if (atto.UIDAtto == Guid.Empty)
                {
                    attoSalvato = await ApiGateway.SalvaAtto(atto);
                }
                else
                {
                    attoSalvato = await ApiGateway.ModificaAtto(atto);
                }

                return(Json(new ClientJsonResponse <AttiDto>
                {
                    entity = attoSalvato,
                    url = Url.Action("RiepilogoAtti", "Atti", new
                    {
                        id = atto.UIDSeduta
                    })
                }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(Json(new ErrorResponse {
                    message = e.Message
                }, JsonRequestBehavior.AllowGet));
            }
        }
示例#7
0
        public async Task <ATTI> SalvaAtto(ATTI attoInDb, AttiFormUpdateModel attoModel, PersonaDto currentUser)
        {
            try
            {
                attoInDb.UIDPersonaModifica = currentUser.UID_persona;
                attoInDb.DataModifica       = DateTime.Now;
                Mapper.Map(attoModel, attoInDb);
                await _unitOfWork.CompleteAsync();

                if (attoModel.DocAtto_Stream != null)
                {
                    var path = ByteArrayToFile(attoModel.DocAtto_Stream, DocTypeEnum.ATTO);
                    attoInDb.Path_Testo_Atto = path;
                    await _unitOfWork.CompleteAsync();
                }

                return(attoInDb);
            }
            catch (Exception e)
            {
                Log.Error("Salva Atto", e);
                throw e;
            }
        }