public static RequisitionChangeLog ParseToViewModel(this RequisicoesRegAlteracoes item)
 {
     if (item != null)
     {
         return(new RequisitionChangeLog()
         {
             Id = item.Id,
             RequisitionNo = item.NºRequisição,
             State = (RequisitionStates)item.Estado,
             StateDescription = EnumHelper.GetDescriptionFor(typeof(RequisitionStates), item.Estado),
             ModifiedAt = item.ModificadoEm,
             ModifiedAtAsString = item.ModificadoEm.ToString("yyyy-MM-dd HH:mm:ss"),
             ModifiedBy = item.ModificadoPor
         });
     }
     return(null);
 }
        public static Requisição Update(Requisição objectToUpdate, bool updateLines = false, bool addLogEntry = false)
        {
            try
            {
                using (var ctx = new SuchDBContext())
                {
                    if (updateLines && objectToUpdate.LinhasRequisição != null)
                    {
                        DBRequestLine.Update(objectToUpdate.LinhasRequisição.ToList(), ctx);
                    }
                    if (addLogEntry)
                    {
                        var logEntry = new RequisicoesRegAlteracoes();
                        logEntry.ModificadoEm  = DateTime.Now;
                        logEntry.ModificadoPor = objectToUpdate.UtilizadorModificação;
                        logEntry.NºRequisição  = objectToUpdate.NºRequisição;
                        if (objectToUpdate.Estado.HasValue)
                        {
                            logEntry.Estado = objectToUpdate.Estado.Value;
                        }

                        ctx.RequisicoesRegAlteracoes.Add(logEntry);
                    }
                    objectToUpdate.DataHoraModificação = DateTime.Now;
                    ctx.Requisição.Update(objectToUpdate);
                    ctx.SaveChanges();

                    objectToUpdate = GetById(objectToUpdate.NºRequisição);
                }

                return(objectToUpdate);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }