public GenericResponse <bool> Cancel(string codeBar, int idUsuario) { try { Database db = new Database(); WSExterno.OCASA wsocasa = new WSExterno.OCASA(); WSLog wsExternos = wsocasa.Cancelar(codeBar); db.WSLog.Add(wsExternos); db.SaveChanges(); string jsonResponse = wsExternos.JSONResponse; dynamic jobject = JValue.Parse(jsonResponse); //jsonRespone["Status"] if (jobject.Status == true) { Database context = new Database(); Pedidos pedidos = context.Pedidos.Where(x => x.CodigoBarra == codeBar).FirstOrDefault(); pedidos.Estado = Constants.Pedidos.ID_CANCELADO; pedidos.EstadoFecha = DateTime.Now; pedidos.EstadoPor = idUsuario; pedidos.FechaCancelacion = DateTime.Now; pedidos.CanceladoPor = idUsuario; context.SaveChanges(); return(new GenericResponse <bool>() { Code = 200, Result = true }); } else { return(new GenericResponse <bool>() { Code = 500, Error = "No se puede cancelar el pedido" }); } } catch (Exception ex) { var message = ex.Message; var messageInner = ex.InnerException != null ? ex.InnerException.Message : ""; Database db2 = new Database(); db2.Log.Add(new Log() { Fecha = DateTime.Now, Ubicacion = Constants.LOG_UBICACION_REPORTES, Mensaje = message, Detalle = messageInner }); db2.SaveChanges(); return(new GenericResponse <bool>() { Code = 500, Error = ex.Message }); } }